簡體   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