编程实现Windows系统自动登录
编程实现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());
http://www.cnblogs.com/greenerycn/archive/2009/11/18/windows_auto_logon.html
编程实现Windows系统自动登录的更多相关文章
- Windows 系统自动登录配置
1. open regedit 2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 3.在打开的项右 ...
- winform系统自动登录实现
转载:http://www.cnblogs.com/wuhuacong/archive/2012/08/21/2648339.html 系统自动登录有时候很必要,在用户自己绝对信任的电脑上,自动登录对 ...
- Windows开机自动登录账户
如何在Windows设了账户密码的情况下开机自动登录账户,有以下两种方法. 通过Windows设置自动登录 按“Win+R”组合键打开“运行”框内输入“netplwiz”. 打开以下窗口,将“要使用本 ...
- windows 2003自动登录的具体步骤
在win2003系统中,使用最多的可能就是远程操作了,关于远程操作的那些事很多用户还是有些迷茫的.如果win2003系统远程重启后,要重新登录系统十分的麻烦,如何才能实现重启后的自动登录呢?让高手告诉 ...
- windows 开机自动登录,或者说是开机后自动进入桌面
这篇文章,对于XP以及XP以上版本有效,包括Windows Server服务器操作系统. 1.原理 --Windows自动登录的原理是,开始后,自动输入登录所使用的账号的用户名和密码,并且自动进入桌面 ...
- Windows开机自动登录及取消自动登录的设置
开机自动登录 1.开始菜单搜索框输入 “netplwiz” 按回车 或“Win+R”组合键打开“运行”框内输入“netplwiz” 或“运行”框内输入“control userpasswords2”( ...
- windows系统中远程登录ubuntu18服务器的桌面
下载:http://www.c-nergy.be/products.html 也可以直接服务器里 wget https://www.c-nergy.be/downloads/xRDP/xrdp-ins ...
- windows的自动登录和隐藏用户
Launch Regedit. #r -> regedit 1. Navigate to: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Cu ...
- windows开机自动登录
控制台输入control userpasswords2 ,去掉下图中的√,输入登陆所用用户名密码即可.
随机推荐
- Oracle查看被锁的表和解锁[转]
查看被锁的表 select p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$p ...
- php composer包管理工具
一 . 包管理工具 你在Centos上装工具的时候直接yum -y install xx 比你去rpm -ivh xx.rpm 是不是爽很多呢? composer 就是安装php 代码的一个类似工具. ...
- mysql 与 mysqli的区别
mysqli.dll是PHP对mysql新特性的一个扩展支持.在PHP5中可以在php.ini中加载mysql后面的i,指improved, interface, ingenious, incompa ...
- Python核心编程笔记---- print
在仅用变量名时,输出的字符串是用单引号括起来的.这个是为了让非字符串对象也可能以字符的形式显示在屏幕上. 而print 函数打印出来的是变量的值. print 调用的是str()方法.而仅用变量名时调 ...
- ETL中的数据增量抽取机制
ETL中的数据增量抽取机制 ( 增量抽取是数据仓库ETL(extraction,transformation,loading,数据的抽取.转换和装载)实施过程中需要重点考虑的问 题.在ETL过 ...
- svn 同步到web目录
windows hook 下 @echo offSET REPOS=%1SET REV=%2SET DIR=%REPOS%/hooksSET PATH=%PATH%;SET WORKING=D:/w ...
- Unix/Linux环境C编程入门教程(6) 安装Fedora C/C++开发环境
安装Fedora C/C++开发环境 1 Fedora 是一个开放的.创新的.前瞻性的操作系统和平台,基于 Linux. 2.选择自定义配置 3.设置版本为10.0 4.选择稍后安装 5.选择64位 ...
- ubuntu下vim与系统剪切板互相拷贝
1.install xclip sudo apt-get install xclip 2. install gvim sudo apt-get install vim-gnome 此时使用 “+ 寄存 ...
- 从ACM中删除一个已经创建的Library
从ACM中删除一个已经创建的Library,无法通过界面操作,须要手工从DB中删除.须要删除的表记录有: RECENTUPDATE 找到字段Name等于该libraryName的那条记录删除掉 del ...
- http 双向通信之port映射
新产品开发了近2-3个月,给到客户做试用的时候,发现一个开发这么久从未考虑到的一个通信问题,mark下,下次开发同类产品的时候长点记性了. 产品由client与服务端两部分组成,client与服务端须 ...