我正在一個c#/ soap/php項目中php web界面將執行一個soap請求來確定控制檯應用程序是否正在運行。正在運行的進程永遠不會被找到
SOAP請求調用獲取過程,然後通過循環來確定進程名稱包含EmailServer
的功能。但是,即使我可以在任務管理器中看到進程EmailServer.exe
,也永遠無法找到它。我還放了一個斷點,以便查看數組中的哪些進程,並且EmailServer不在那裏。
我運行Windows 7 X64的使用.NET Framework 3.5的,我作爲管理員登錄帳戶,所以它不可能是一個權限問題。
下面是一個屏幕快照,顯示了我的進程在任務管理器
運行下面是獲取進程列表
public bool checkIfProcessIsRunning()
{
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
if (process.ProcessName.ToLower().Contains("EmailServer"))
{
return true;
}
else
{
return false;
}
}
return false;
}
感謝您的幫助,您可以提供的代碼。
所以,你要'process.ProcessName.ToLower()包含( 「有emailserver」) '或者交替地(如果你想區分大小寫)'process.ProcessName.Contains(「EmailServer」)' – 2012-08-03 18:18:36
5分鐘後,這是我最高的答案。 – Wug 2012-08-03 18:23:38
謝謝你是對的,我也是第二個問題,我在foreach中返回false,所以它會檢查列表中的第一個進程,我認爲我必須有一個糟糕的一天注意。感謝您的幫助 – Boardy 2012-08-03 18:30:15