好的,我有這個程序,我不想讓它運行多個實例。所以我現在所擁有的是抓取與其名稱匹配的所有實例,並且如果有多個實例會退出並讓用戶知道它已經在另一個實例中運行。防止第二個實例在特定情況下運行
但是,在新的實例會想改變什麼另一個實例是幹什麼的,那麼它將退出的一個特例。我怎樣才能做到這一點?
這裏有一個例子: 我有這個程序,時間的事件。我不希望同時運行多個應用程序,因爲您不能同時執行兩個任務(針對此應用程序)。現在說一個第三方程序想要通知該線程該用戶正在處理其他事情,所以它會再次啓動該應用程序。如果應用程序已經在運行,它將更新它的操作,否則它將正常運行。
這怎麼辦?
這是我用它來判斷是否有另一個實例運行:
string proc = Process.GetCurrentProcess().ProcessName;
Process[] processess = Process.GetProcessesByName(proc);
if (processess.Length > 1) {
MessageBox.Show("There is an instance of the Timer already running");
return;
}
不應該命名管道能夠處理消息嗎? – configurator 2008-12-28 09:26:04