关于windows的自动登录功能--autoadminlogon

        Windows系统新安装的时候是没有设置自动登录账户的,即使win7/xp系统能够自动登录到无密码的账户中,也不是真正的“自动登录”概念。
  设置了自动登录后,HKLM\Software\Microsoft\Windows NT\winlogon目录下有一个AutoAdminLogon=1的字段,标明了这个,DefaultUserName字段则记录了设置自动登录的账户名。
  如果设置了自动登录账户,但是设置“错了”,比如给winxp新创建了一个owner管理员用户,但将其设置为自动登录账户时选择的却是系统默认的administrator账户,那么系统在登录时会提示无法自动登录。

        因为系统默认是登录到的owner账户,administrator账户在登录界面是看不见的,所以登录会失败(解释略带牵强,具体原因可以自己去探索下)。
  比较尴尬的是,如果你写了一个后台服务,在登录前会调用ExitWindowsEx进行关机,那么关机操作会被这个“登录消息”对话框给拦截,导致无法关机。

        到底怎么判断系统能否自动进入桌面了,这里当然包括比如win7系统的无密码登录,以及有密码时设置自动登录的情况。(至少不能像网上说的直接通过autoadminlongon是否为1来简单判断)
  提供一个方法供参考:
  1、如果存在autoadminlogon=1段,读取同级注册表目录下DefaultUserName字段,如果DefaultUserName的值同当前登录的账户,那么可以断定存在自动登录账户,且就是当前账户。
  2、如果不存在autoadminlogon字段,则通过NetUserEnum获取系统所有用户列表,当用户数只有一个,且其密码为空的时候,系统是可以自动登录的。
        3、其他情况,暂时还没有时间去发现,有兴趣的可以交流一下。


如有错误,欢迎交流。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值