确定Cisco 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;
}虽然此方法有效,但在一个实例中,Cisco可能会将更新推送到他们的客户端,从而更改进程名,如果我们正在寻找特定的进程名,该进程名称将破坏此代码。
Webex客户端从Internet浏览器开始作为子进程启动,因为它在技术上是一个浏览器插件,并且在中没有自己显示出来。我看到了使用process查找进程的CiscoWebexWebService和atmgr。有时,根据主机操作系统Windows /Windows 7,它只显示atmgr,而不显示属于atmgr的子进程。根据所使用的浏览器,它也略有不同。它作为浏览器插件运行在所有受支持的浏览器上,对于不受支持的浏览器,它将提供作为独立应用程序运行的选项。
进程树可以不同(即其他浏览器/操作系统),但它看起来如下所示:
iexplore.exe
-> atmgr.exe
-> CiscoWebexWebService.exe 显然,所有检查都必须由客户端完成,而不是服务器端,但是是否有更好的方法来处理这个问题呢?
发布于 2013-12-19 14:59:55
我采访了思科的一位专家,他们说我目前的方法应该是安全的,以检测Webex客户端是否在运行用户的机器。他们能够确认进程名是atmgr.exe,在不久的将来不应该更改。
https://stackoverflow.com/questions/20643641
复制相似问题