【发布时间】:2014-10-27 07:18:07
【问题描述】:
我的应用程序的一部分是一个 Windows 窗体 (C#) 桌面程序,它将在服务器上运行。我不想详细说明为什么这是必要的,但让我们把它当作阅读吧!
当它启动时,我想检查它是否在控制台上运行(即物理上在控制台上或带有 /console 开关的 RDP)而不是任何其他 RDP 会话。
【问题讨论】:
标签: c# .net windows remote-desktop rdp
我的应用程序的一部分是一个 Windows 窗体 (C#) 桌面程序,它将在服务器上运行。我不想详细说明为什么这是必要的,但让我们把它当作阅读吧!
当它启动时,我想检查它是否在控制台上运行(即物理上在控制台上或带有 /console 开关的 RDP)而不是任何其他 RDP 会话。
【问题讨论】:
标签: c# .net windows remote-desktop rdp
这门课似乎很有趣:Process。这就是您可以从远程计算机获取进程的方式:
Process[] procs = System.Diagnostics.Process.GetProcessesByName("TestApp", "MyServer01");
但这仅适用于本地网络。如果你需要上网,我会用一种方法编写一个小型的自托管网络服务器,如果应用程序正在运行,它会返回 TRUE。
【讨论】:
您可以使用Mutex 来解决您的问题。在启动应用程序时,您可以安装名称以“Global\”为前缀的互斥锁。通过这种方式,它将在整个系统中是独一无二的,这应该使您能够注意到您的应用程序已经在系统上运行。
【讨论】: