確定Cisco Webex客戶端是否在用戶計算機上運行的最佳方法是什麼?目前,我檢查這樣一個正在運行的進程:檢測Webex客戶端是否運行的可靠方法
public static bool IsWebExClientRunning()
{
// webex process name started from internet browser (could change). Just use Process Explorer to find the sub process name.
// alternate name - CiscoWebexWebService
Process[] pname = Process.GetProcessesByName("atmgr");
return pname.Length > 0;
}
雖然這種方法可行,有可能是思科在推動了更新他們的客戶改變進程名,如果我們這將打破這種代碼的實例正在尋找一個特定的進程名稱。
Webex客戶端從Internet瀏覽器啓動爲子進程,因爲它在技術上是一個瀏覽器插件,並且它不會在Windows任務管理器中自行顯示。我見過atmgr和CiscoWebexWebService使用Process Explorer來查找過程。有時,根據主機操作系統Windows XP/Windows 7,它只會顯示atmgr而不是子進程CiscoWebexWebService屬於atmgr。根據使用的瀏覽器,它也會有所不同。它作爲瀏覽器插件運行,適用於所有支持的瀏覽器和不支持的瀏覽器,它將提供作爲獨立應用程序運行的選項。
進程樹可以改變(即其他瀏覽器/操作系統),但它看起來是這樣的:
iexplore.exe
-> atmgr.exe
-> CiscoWebexWebService.exe
顯然,所有檢查必須做的客戶端,而不是服務器端,但有一個更好的方法來解決這個問題?