【问题标题】:Reliable method for detecting if Webex Client is running检测 Webex 客户端是否正在运行的可靠方法
【发布时间】:2023-03-07 14:14:02
【问题描述】:

确定 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 浏览器的子进程启动,因为它在技术上是一个浏览器插件,并且它不会单独显示在 Windows 任务管理器中。我已经看到 atmgrCiscoWebexWebService 都使用 Process Explorer 来查找进程。有时,根据主机操作系统 Windows XP/Windows 7,它只会显示 atmgr 而不是属于 atmgr 的子进程 CiscoWebexWebService .它也会根据所使用的浏览器而略有不同。它作为所有支持的浏览器的浏览器插件运行,对于不受支持的浏览器,它将提供作为独立应用程序运行的选项。

进程树可能会有所不同(即其他浏览器/操作系统),但它看起来像这样:

iexplore.exe  
    -> atmgr.exe  
        -> CiscoWebexWebService.exe  

显然,所有检查都必须在客户端而不是服务器端完成,但有没有更好的方法来解决这个问题?

【问题讨论】:

    标签: c# process cisco webex


    【解决方案1】:

    我与一位思科专家交谈,他们说我当前的方法应该可以安全地检测 Webex 客户端是否正在运行用户的计算机。他们能够确认进程名称是atmgr.exe,并且在不久的将来不应更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-18
      • 2014-02-18
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      • 1970-01-01
      相关资源
      最近更新 更多