0

我们有十个软件用户名,由于许可问题,我们需要 10 台独立的机器(10 个不同的 IP)。多个用户可以同时远程访问一台机器,但只有一个用户可以在机器上使用这个程序。好的,这就是交易。我正在用 c# Visual 开发一个简单的应用程序,它显示程序的实例当前是否正在机器上运行(一个简单的表)。它运作良好。我想在表中添加一列“所有者”——在特定机器上运行程序实例的人。我可以以某种方式跟踪远程登录并启动该过程的人的 IP 吗?每台机器上只有一个帐户。

谢谢。

4

1 回答 1

1

您想要的是显示相应进程的所有者,即可以看到的用户名,例如使用任务管理器或进程资源管理器。

检索它以使用 WMI 的进程的所有者的一种选择。例如,在此相关问题中对此进行了描述:

如何在 C# 中确定进程的所有者?

如果您还想在 RDP 会话中检索用户,您可能需要查看Cassia库,例如使用如下代码:

new TerminalServicesManager().CurrentSession.ClientName

获取客户端的主机名,或

new TerminalServicesManager().CurrentSession.UserName 

获取用户名。

于 2012-06-04T21:03:25.530 回答