我正在使用NetQueryDisplayInformation(我已經嘗試NetUserEnum函數)來獲取本地計算機上的用戶帳戶集。我可以通過這種方式獲得所有帳戶 - 但我只想要與真實人類相關的帳戶,而不是用於軟件更新的隱藏帳戶。如何獲取Windows在登錄屏幕上顯示的用戶帳戶列表?
在閱讀有關結構的the MSDN documentation和similar Stack questions之後,我看不到任何可以允許我篩選我需要的帳戶的東西。
理想的情況下,會有人有一個簡單,可靠的解決方案:
- 不使用無證註冊表項
- 不依賴於磁盤上列舉的用戶文件夾
- 我不涉及要嘗試建立非實時用戶的詳盡清單佔
- 由於技術原因,WMI是不是一種選擇
有何想法?
[稍後] 得到答案,但不在這裏 - 只列舉每個用戶的組。 「真人」帳戶將成爲管理員,高級用戶,用戶,訪客中的一位或多位的成員。
是該信息不具備的usri1_flags領域? – Luke
閱讀文檔,嘗試了幾個位的組合,但沒有任何工作。仍然有太多的用戶。 –
希望這可以幫助您找到正確的位置...... HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ SpecialAccounts \ UserList \該註冊表項是一個DWORD。如果它是0,用戶將不會出現在歡迎屏幕 –
JimR