编程实现Windows系统自动登录
2018-01-05 01:37
337 查看
原文:编程实现Windows系统自动登录
通过注册表修改实现。Windows内置了自动登录的机制,在登录系统时,winlogon会检查注册表下有没有设置自动登录,如果设置了就上就会读取用户名和密码,然后进行验证,通过后就登录进系统了。
方法:
注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
键值:
注意,下面两个键值必须删除掉,否则会显示一个通知对话框。
LegalNoticeCaption
LegalNoticeText
另外还有2个键值,作用分别如下:
IgnoreShiftOverride 忽略shift键,默认在开机时按shift机会显示登录对话框(即使设置成自动登录),设置成1后,按shift键也没用了。
AutoLogonCount 设置自动登录次数
ForceAutoLogon 该值要删除掉
特别注意:
由于密码是明文保存的,很不安全,所以windows中提供了一个秘密的地方来保存加密后的密码,就是在lsa中。sysinternals中autologon工具就是把密码保存进去的。 在Winlogon中,它会先到lsa中用找“DefaultPassword”的信息,找到后就用这个密码,如果找不到就到注册表下去找“DefaultPassword”值。
读写lsa的代码,这个代码是pinvoke.net 中找到的。原文: http://www.pinvoke.net/default.aspx/advapi32/DefaultPassword.html
其中C++代码由微软提供:http://msdn.microsoft.com/en-us/library/aa378826(VS.85).aspx
C#代码为:http://www.pinvoke.net/default.aspx/advapi32/LsaRetrievePrivateData.html
获取LUAUtil类后,如下调用即可,
编程实现Windows系统自动登录
原理:通过注册表修改实现。Windows内置了自动登录的机制,在登录系统时,winlogon会检查注册表下有没有设置自动登录,如果设置了就上就会读取用户名和密码,然后进行验证,通过后就登录进系统了。
方法:
注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
键值:
键值 | 设置值 | 作用 |
AutoAdminLogon | 1; | 1表示自动登录,0表示禁止自动登录 |
DefaultDomainName | 设置值 | 域名,如果没有就留空 |
DefaultUserName | abc | 登录系统用的用户名 |
DefaultPassword | 123 | 登录系统用的用户名使用的密码,如果想加密保存就删除此键值 |
DontDisplayLastUserName | 1 |
LegalNoticeCaption
LegalNoticeText
另外还有2个键值,作用分别如下:
IgnoreShiftOverride 忽略shift键,默认在开机时按shift机会显示登录对话框(即使设置成自动登录),设置成1后,按shift键也没用了。
AutoLogonCount 设置自动登录次数
ForceAutoLogon 该值要删除掉
特别注意:
由于密码是明文保存的,很不安全,所以windows中提供了一个秘密的地方来保存加密后的密码,就是在lsa中。sysinternals中autologon工具就是把密码保存进去的。 在Winlogon中,它会先到lsa中用找“DefaultPassword”的信息,找到后就用这个密码,如果找不到就到注册表下去找“DefaultPassword”值。
读写lsa的代码,这个代码是pinvoke.net 中找到的。原文: http://www.pinvoke.net/default.aspx/advapi32/DefaultPassword.html
其中C++代码由微软提供:http://msdn.microsoft.com/en-us/library/aa378826(VS.85).aspx
C#代码为:http://www.pinvoke.net/default.aspx/advapi32/LsaRetrievePrivateData.html
获取LUAUtil类后,如下调用即可,
LSAutil lsa = new LSAutil("DefaultPassword"); lsa.SetSecret(“abc”); Console.Write(lsa.GetSecret());
相关文章推荐
- 编程实现Windows系统自动登录
- 编程实现Windows系统自动登录
- windows 7实现系统自动登录
- Windows 2000中实现自动登录系统
- 如何设置Windows自动登录系统
- Windows 7实现自动登录的方法
- 修改注册表,关闭windows 2003的默认共享文件与修改注册表自动登录Windows 2003系统
- 让Windows 2000/XP启动时自动登录系统
- windows自动登录的实现(非注册表方式)
- windows系统自动以某用户登录
- 在 Windows 7 里如何实现一登录就自动连接宽带?
- windows通过注册表实现自动登录 自动运行软件
- (转载整理)程序安装流程及如何实现文件在系统后自动重启(windows)
- 两种方法实现Windows系统服务自动运行SVN
- 用WMI实现Windows系统自动管理
- 如何才能让Windows 2003 ,XP实现自动登陆系统
- winxp系统自动登录实现方法
- 怎么实现Windows 2003的自动登录不用按确定进入桌面
- 设置Windows Vista系统启动时自动登录
- 如何设置windows系统自动登录的方法