【问题标题】:How is it possible to terminate a Chrome Application, that ist not launched via "Launch" activity, but from another application like Powershell?如何终止不是通过“启动”活动启动的 Chrome 应用程序,而是从另一个应用程序(如 Powershell)启动的?
【发布时间】:2019-10-08 15:01:31
【问题描述】:

当我通过导航阶段和启动操作启动应用程序时,终止应用程序没有问题。目前我正在研究一个通过 Powershell 启动 Chrome 的过程。当我试图终止/关闭应用程序时,一个 chrome 进程被关闭。但是任务管理器中有 10 个 chrome 进程。 chrome-window 没有关闭。

这是我已经尝试过的: - 使用导航阶段和终止动作 - 使用 win32 模式识别窗口,然后在导航阶段关闭操作 - 调用JS片段:window.close() -> 返回,只有用代码打开的窗口也可以用代码关闭

那我还能尝试什么?

【问题讨论】:

  • 您明确表示“它不起作用” - 但您怎么知道?您尚未指定您看到的错误消息(如果有)。
  • 另外 - 为什么不直接使用 Blue Prism 原生方法附加到正在运行的实例,然后只然后向它发送 Terminate?
  • 因为窗口不是这样关闭的
  • 您可以在Utility - Environment VBO 中使用Kill Process

标签: powershell process automation blueprism rpa


【解决方案1】:

您还可以使用Utility - Environment VBO 中的“终止进程”操作来定位chrome.exe 进程的所有打开实例。

【讨论】:

    【解决方案2】:

    您始终可以从命令行(或 PS)调用taskkill

    taskkill /IM chrome.exe /F
    

    【讨论】:

      【解决方案3】:

      这个 c# 应该关闭正在运行的每个 Chrome 实例(使用 System.Diagnostics)。将其放在代码阶段:

              Process[] processes;
              string procName = "chrome";
              processes = Process.GetProcessesByName(procName);
      
              foreach (Process proc in processes)
              {
                  proc.CloseMainWindow();
              }
      

      如果你不知道怎么做,你可以看看我的另一个答案here

      【讨论】:

      • 我必须下载 System.Diagnostics.dll 还是在代码选项的“初始化”页面上添加“System.Diagnostics.dll”?
      • Blue prism 使用 .NET 框架,因此您只需在初始化页面的代码选项选项卡中放置对 .dll 和命名空间的引用。在我的另一篇文章中显示了如何执行此操作,只需点击答案中的链接即可。那么 System.Diagnostics 应该是一个框架程序集,不像 COM .dll(如 Interops for Office 等),因此您不需要为 .dll 引用目录位置或下载任何内容。
      【解决方案4】:

      这个在线的powershell会杀死你所有的chrome进程

      get-process chrome | stop-process
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多