枚举Windows“登录屏幕"VB6中的用户帐户 [英] Enumerating Windows "log-in screen" user accounts in VB6
问题描述
我正在尝试检索 Windows 首次加载(XP、Vista 和 7)时实际可见的登录帐户.
I am attempting to retrieve the log-in accounts that are actually visible when Windows first loads (XP, Vista and 7).
我能够枚举所有帐户(感谢此代码:freevbcode.com),但是这个特定的函数会枚举所有系统用户帐户(管理员、访客、HomeGroupUser$、LogMeInRemoteUser 等),无论它们是否出现在登录屏幕上.如何区分可见帐户和不可见帐户?
I am able to enumerate all accounts (thanks to this code: freevbcode.com), however this particular function enumerates all system user accounts (Administrator, Guest, HomeGroupUser$, LogMeInRemoteUser, etc.) whether they appear on the log-in screen or not. How do I distinguish between visible and not-visible accounts?
推荐答案
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
有一个列表,读取那里的 DWORD 并按位AND 它与 1,如果 <> 0(或根本没有用户名条目),则该帐户在欢迎屏幕上可见
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
has a list, read the DWORD there and bitwise AND it with 1, if that is <> 0 (or there is no entry at all for the username) then the account is visible on the Welcome Screen
(注意:该注册表项和 dword 值的含义是未记录的 AFAIK)
(Note: That registry key and the meaning of the dword value is undocumented AFAIK)
这篇关于枚举Windows“登录屏幕"VB6中的用户帐户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!