我的部分应用程序是Windows Forms(C#)桌面程序,它将在服务器上运行。我不想深入了解为什么这是必要的血腥细节,但让我们把它看作是它的读物!
启动时,我想检查它是否在控制台上运行(即物理上在控制台上运行,或者使用/ console交换机运行RDP),而不是任何其他RDP会话
答案 0 :(得分:0)
这堂课似乎很有趣:Process
。这就是你如何从远程计算机获取进程:
Process[] procs = System.Diagnostics.Process.GetProcessesByName("TestApp", "MyServer01");
但这仅适用于本地网络。如果您需要通过互联网,我会使用一种方法编写一个小型自主式Web服务器,如果应用程序正在运行,则返回 TRUE 。
答案 1 :(得分:0)
您可以使用Mutex来解决您的问题。启动应用程序时,您可以安装名称前缀为" Global \"的互斥锁。通过这种方式,它将在整个系统中独一无二,这使您可以注意到您的应用程序已在系统上运行。