繁体   English   中英

如何确定我的桌面程序是否正在控制台上运行?

[英]How can I find out if my desktop program is running on the console?

我的应用程序的一部分是Windows Forms(C#)桌面程序,它将在服务器上运行。 我宁愿不对为什么必须这样做的细节进行详细介绍,而让我们将其理解为是必要的!

当它启动时,我想检查它是否正在控制台上运行(即在控制台上物理运行还是通过带有/ console开关的RDP运行),而不是其他任何RDP会话。

此类似乎很有趣: Process 这样便可以从远程计算机获取进程:

Process[] procs = System.Diagnostics.Process.GetProcessesByName("TestApp", "MyServer01");

但这仅在本地网络中有效。 如果您需要上网,我会用一种方法编写一个小型的自托管Web服务器,如果应用程序正在运行,它将返回TRUE

您可以使用Mutex解决问题。 在启动应用程序时,您可以安装Mutex,其名称以“ Global \\”为前缀。 这样,它将在整个系统中是唯一的,这使您可以注意到您的应用程序已在系统上运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM