在Powershell中打开程序并获取其句柄

时间:2018-07-23 12:42:21

标签: powershell

我正在尝试创建一个脚本,该脚本将打开Firefox并获取该窗口的句柄以备将来使用。但是我的问题是,打开的浏览器窗口与已经运行的其他窗口具有相同的“标题”,因此我无法以此来过滤句柄列表。是否有任何方法可以在启动时“标记”窗口或获取手柄槽其他手段?

1 个答案:

答案 0 :(得分:0)

您想使用$var=Start-Process Notepad.exe -passthrough之类的语法 输出将如下所示(您可以看到进程ID)

   Handles  NPM(K)    PM(K)      WS(K)     CPU(s)   Id  SI ProcessName
  - ------  ------    -----      -----     ------   --  -- -----------
     236      14     3100      13072       0,03   5004  11 notepad

从启动过程帮助中:
如果您指定PassThru参数,则此cmdlet会生成System.Diagnostics.Process对象。 否则,此cmdlet将不返回任何输出。

然后,您可以像     (Get-Process -id $var.Id).MainWindowHandle