谁远程连接?

时间:2012-06-04 20:53:16

标签: c# remote-access

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

感谢。

1 个答案:

答案 0 :(得分:1)

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

检索进程所有者以使用WMI的一个选项。这是例如在这个相关问题中描述:

  

How do I determine the owner of a process in C#?

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

new TerminalServicesManager().CurrentSession.ClientName

获取客户端的主机名,或

new TerminalServicesManager().CurrentSession.UserName 

获取用户名。