gpt4 book ai didi

windows-services - c# - 如何从窗口服务中获取登录用户和机器名?

转载 作者:行者123 更新时间:2023-12-04 03:14:52 26 4
gpt4 key购买 nike

c#中如何从窗口服务中获取登录用户(交互用户)和机器名。当我尝试 Environment 和其他类以登录用户名时,它只从窗口服务返回 NT AUTHORITY\SYSTEM。

最佳答案

该服务在 SYSTEM 帐户下执行,因此您在 Environment 中看到的内容类(class)。机器名称应该不是问题(参见 Gmoliv 的评论)。服务独立于可能登录的任何人执行:这是拥有它们的主要原因之一。

如果您想了解哪些用户(是的,可能不止一个)可能登录到您的计算机,则必须使用原始 Windows API 的 AFAIK。如果你真的想要这个,一种方法可能是 iterate through desktops , open the named desktop ,获取关联的 user of each desktop , 和 look up the account name of the user (它返回本地机器上的帐户名)。如果您只希望用户可以在屏幕上看到某些内容,请使用 OpenInputDesktop获得一个句柄而不是遍历所有这些。

请注意,这要求您的服务具有比平时更高的访问权限。我自己对这样的服务有点怀疑。

关于windows-services - c# - 如何从窗口服务中获取登录用户和机器名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4032619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com