【问题标题】:How can I find out if my desktop program is running on the console?如何确定我的桌面程序是否在控制台上运行?
【发布时间】:2014-10-27 07:18:07
【问题描述】:

我的应用程序的一部分是一个 Windows 窗体 (C#) 桌面程序,它将在服务器上运行。我不想详细说明为什么这是必要的,但让我们把它当作阅读吧!

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

【问题讨论】:

    标签: c# .net windows remote-desktop rdp


    【解决方案1】:

    这门课似乎很有趣:Process。这就是您可以从远程计算机获取进程的方式:

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

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

    【讨论】:

      【解决方案2】:

      您可以使用Mutex 来解决您的问题。在启动应用程序时,您可以安装名称以“Global\”为前缀的互斥锁。通过这种方式,它将在整个系统中是独一无二的,这应该使您能够注意到您的应用程序已经在系统上运行。

      【讨论】:

        猜你喜欢
        • 2010-09-14
        • 1970-01-01
        • 2011-11-03
        • 2012-09-10
        • 1970-01-01
        • 1970-01-01
        • 2012-02-19
        • 2021-06-30
        • 1970-01-01
        相关资源
        最近更新 更多