部分是將一臺服務器上運行的Windows窗體(C#)桌面程序。我寧願不進入爲什麼這是必要的血淋淋的細節,但讓我們把它看作是它的讀物!我如何才能知道我的桌面程序在控制檯上運行?我的應用程序的
當它啓動起來,我想檢查是否它正在控制檯上運行(即以物理控制檯或RDP使用/控制檯交換機上),而不是隨便什麼其他的RDP會話。
部分是將一臺服務器上運行的Windows窗體(C#)桌面程序。我寧願不進入爲什麼這是必要的血淋淋的細節,但讓我們把它看作是它的讀物!我如何才能知道我的桌面程序在控制檯上運行?我的應用程序的
當它啓動起來,我想檢查是否它正在控制檯上運行(即以物理控制檯或RDP使用/控制檯交換機上),而不是隨便什麼其他的RDP會話。
該類似乎是intresting:Process
。這就是你如何從遠程計算機獲取進程:
Process[] procs = System.Diagnostics.Process.GetProcessesByName("TestApp", "MyServer01");
但是,這隻適用於本地網絡。如果你需要去在互聯網上,我會寫一個小selfhosted網絡服務器提供一個方法,如果應用程序正在運行,返回TRUE 。
你可以使用一個Mutex解決您的問題。在啓動應用程序時,您可以安裝具有前綴「Global \」的名稱的互斥體。通過這種方式,它在整個系統中將是唯一的,它使您能夠注意到您的應用程序已經在系統上運行。