您尚未登录,请登录后浏览更多内容! 登录 | 注册并了解

QQ登录

只需一步,快速开始

 找回密码
 注册并了解

QQ登录

只需一步,快速开始

查看: 2871|回复: 0
打印 上一主题 下一主题
收起左侧

域用户实际开机自动登录 [第一种方法]

[复制链接]

点击这里给我发消息

QQ

跳转到指定楼层
楼主
发表于 2013-9-6 11:48:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1》常规配置的系统自动登录

单击“开始”/运行,输入“rundll32 netplwiz.dll,UsersRunDll”(注意大小写及空格),然后进入“用户账户”操作窗口,注意这与“控制面板”中打开的“用户账户”面板窗口不同!

把“要使用本机,用户必须输入用户名及密码”左边的钩去掉;接下来按“应用”按钮,随之弹出对话框,输入以后电脑每次自动登录的账户名及密码,按“确定”结束。



依次找到“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon”项,在右边的窗口中创建字符串值:“AutoAdminLogon”,并将其值设为“1“(值为1时启用自动登陆功能,为0时禁用自动登录功能);再创建字符串值:“DefaultUserName”,将其键值修改为登录时所用的用户名;最后创建字符串值:“DefaultPassword”,将其键值修改为登录时的密码(对应用户名);如果加入域,创建字符串值:“DefaultDomainName”,将其键值修改为域名。

2》加入域的电脑
由于电脑加入了域,并且是64位系统。加入域的话,每次自动登录系统一次,“AutoAdminLogon”键值就自动被设为0了,所以需要编写程序开机自动重设键值为1。由于默认vs2012是win32环境,这样没有权限操作注册表,所以必须在x64环境下编译程序。
2.1》在VS2012中创建X64环境

在新建X64位环境时,出现了“无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件”的错误,解决方案如下:

首先打开菜单,[项目]->[项目属性]
1.选择[配置属性]->[链接器]->[调试]->[生成调试信息],改为[是]
2.选择[配置属性]->[C/C++]->[常规]->[调试信息格式],改为[用于“编辑并继续”的程序数据库(/ZI)]
3.选择[配置属性]->[C/C++]->[优化]->[优化],改为[禁用(/Od)]


2.2》主要代码

  1. #include "stdafx.h"
  2. #include
  3. #include
  4. #include
  5. #include  

  6. static int count=0;

  7. int autologon()
  8. {   
  9.     DWORD dwIndex=0,Type;
  10.     HKEY hKey;
  11.     //打开关闭注册表---------------------------------------------------------------
  12.     LPCTSTR SubKey=TEXT("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon");
  13.     if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,SubKey,0,KEY_ALL_ACCESS,&hKey)!=
  14.         ERROR_SUCCESS)
  15.     {
  16.         printf("RegOpenKeyEx error!/n");
  17.     }

  18. TCHAR* pszValueName = _T("AutoAdminLogon");
  19. LPCTSTR pszValueData = _T("1");
  20. TCHAR dwData[1024];
  21. DWORD dwSize = 1024*sizeof(TCHAR);
  22. memset(dwData, 0, 1024*sizeof(TCHAR));
  23. LONG lReturn =0;

  24. lReturn=RegQueryValueEx(hKey, pszValueName, NULL, &Type, (BYTE *) &dwData, &dwSize);

  25. while(lReturn==ERROR_SUCCESS && strcmp(dwData,"0")==0){
  26.   Sleep(count*1500);
  27.   if(RegSetValueEx (hKey, pszValueName, 0L, REG_SZ,(CONST BYTE*) pszValueData, (_tcslen(pszValueData) + 1)*sizeof(TCHAR))==ERROR_SUCCESS)
  28.   {
  29.    printf("创建REG_SZ键值成功!");
  30.   }
  31.   else
  32.   {
  33.    printf("创建REG_SZ键值失败!");
  34.   }
  35.   lReturn=RegQueryValueEx(hKey, pszValueName, NULL, &Type, (BYTE *) &dwData, &dwSize);
  36.   count++;
  37. }
  38. RegCloseKey(hKey);
  39. return 0;
  40. }

  41. int _tmain(int argc, _TCHAR* argv[])
  42. {
  43. autologon();
  44. return 0;
  45. }
复制代码
2.3》编译连接后,将exe文件置于[开始]->[所有程序]->[启动],右键[打开所有用户]文件夹内。






上一篇:提问的艺术
下一篇:开机就自动启动VMware并启动虚拟系统
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对 订阅订阅
您需要登录后才可以回帖 登录 | 注册并了解

本版积分规则

       
    闽ICP备18004340号-3

GMT+8, 2024-6-24 03:56 , Processed in 0.422530 second(s), 52 queries .

返回顶部