我们有十个软件用户名,由于许可问题,我们需要10台独立的机器(10种不同的IP)。多个用户可以同时远程访问计算机,但只有一个用户可以在计算机上使用此程序。 好的,所以这是交易。我正在c#Visual中开发一个简单的应用程序,它显示程序的实例当前是否在机器上运行(一个简单的表)。它运作良好。 我想在表中添加一个列'owner' - 谁在特定的机器上运行程序的实例。我可以以某种方式跟踪远程登录并启动该过程的人的IP吗?每台机器上只有一个帐户。
感谢。
答案 0 :(得分:1)
您想要的是显示相应进程的所有者,即可以看到的用户名,例如使用任务管理器或Process Explorer。
检索进程所有者以使用WMI的一个选项。这是例如在这个相关问题中描述:
如果您还想在RDP会话中检索用户,您可能需要查看Cassia库,例如使用如下代码:
new TerminalServicesManager().CurrentSession.ClientName
获取客户端的主机名,或
new TerminalServicesManager().CurrentSession.UserName
获取用户名。