获取服务中的用户SID
我需要读取存储在位于HKEY_CURRENT_USER下的注册表项中的软件许可证。获取服务中的用户SID
我正在SYSTEM帐户中的服务中运行,所以无法读取此密钥。
我发现这个注册表项在HKEY_USER有一个帐户,我可以在那里读取信息。但我需要找出登录用户的SID。
如何从德尔福的一个服务中找到这个?
拨打LookupAccountName以获取属于给定用户名(及其所属域)的SID。可以使用ConvertSidToStringSid将SID转换为字符串。可以使用Delphi Jedi Windows Security Code Library(JWSCL)。
您可以使用'WTSEnumerateSessions()'发现登录的会话,'WTSQuerySessionInformation()'检索这些会话的用户名+域,然后调用'LookupAccountName()'。另一个选项是枚举正在运行的进程,直到发现运行在所需会话中的一个(通常为Explorer),然后打开进程的句柄,获取其进程标记并查询它的登录SID。 –
请问,如何使用LookupAccountName。 O名称用户活动,找到函数JEDI库“GetInteractiveUserName”。 –
解决方案http://pasotech.altervista.org/delphi/articolo24.htm –
为什么不模拟用户调用服务并读取注册表项? – Remko
哪个用户登录?可能有几个。或者没有。 –