部分是将一台服务器上运行的Windows窗体(C#)桌面程序。我宁愿不进入为什么这是必要的血淋淋的细节,但让我们把它看作是它的读物!我如何才能知道我的桌面程序在控制台上运行?我的应用程序的
当它启动起来,我想检查是否它正在控制台上运行(即以物理控制台或RDP使用/控制台交换机上),而不是随便什么其他的RDP会话。
部分是将一台服务器上运行的Windows窗体(C#)桌面程序。我宁愿不进入为什么这是必要的血淋淋的细节,但让我们把它看作是它的读物!我如何才能知道我的桌面程序在控制台上运行?我的应用程序的
当它启动起来,我想检查是否它正在控制台上运行(即以物理控制台或RDP使用/控制台交换机上),而不是随便什么其他的RDP会话。
该类似乎是intresting:Process
。这就是你如何从远程计算机获取进程:
Process[] procs = System.Diagnostics.Process.GetProcessesByName("TestApp", "MyServer01");
但是,这只适用于本地网络。如果你需要去在互联网上,我会写一个小selfhosted网络服务器提供一个方法,如果应用程序正在运行,返回TRUE 。
你可以使用一个Mutex解决您的问题。在启动应用程序时,您可以安装具有前缀“Global \”的名称的互斥体。通过这种方式,它在整个系统中将是唯一的,它使您能够注意到您的应用程序已经在系统上运行。