2010-10-12 49 views

回答

1

您可以調用此方法

Process.GetProcesses() 

和遍歷結果(類型流程的集合),看名稱相匹配。類似這樣的:

foreach (Process prc in Process.GetProcesses()) 
{ 
    if (prc.ProcessName.Contains(MyProcessName)) 
    { 
     //Process is running 
    } 
} 
0

您應該使用的是辛格爾頓應用模式:

bool createdNew = true; 
using (var mutex = new Mutex(true, "YourProcessName", out createdNew)) 
{ 
    if (createdNew) 
    { 
     // Run application 
    } 
} 
+0

這隻有在他試圖啓動他編寫的應用程序並且可以修改時纔有效。 – 2010-10-12 16:06:35

1

我想這一切都取決於你所說的「最好方式」是什麼?你的意思是最快,最準確還是會處理一些奇怪的情況?

我要開始的方式是列出進程並檢查可執行文件名稱與我試圖啓動的進程。如果它們匹配(不區分大小寫),它可能正在運行。

相關問題