Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Powershell中获得每个Firefox窗口的句柄?_Powershell_Firefox - Fatal编程技术网

如何在Powershell中获得每个Firefox窗口的句柄?

如何在Powershell中获得每个Firefox窗口的句柄?,powershell,firefox,Powershell,Firefox,我试图获得firefox进程打开的每个窗口的句柄。我的用例如下:在一台处于kiosk模式的计算机上,我在启动时使用powershell脚本在特定URL打开firefox。该URL指向一个应用程序,该应用程序打开一个新窗口,方便地禁用URL栏的使用,从而阻止用户浏览web。我的问题是旧窗口仍然打开,我想通过相同的powershell脚本以编程方式关闭它。虽然,这两个窗口的名称完全相同,所以我不能用这个来区分它们 我试着列出firefox进程的windows句柄,但由于只有一个句柄,所以它不起作用。

我试图获得firefox进程打开的每个窗口的句柄。我的用例如下:在一台处于kiosk模式的计算机上,我在启动时使用powershell脚本在特定URL打开firefox。该URL指向一个应用程序,该应用程序打开一个新窗口,方便地禁用URL栏的使用,从而阻止用户浏览web。我的问题是旧窗口仍然打开,我想通过相同的powershell脚本以编程方式关闭它。虽然,这两个窗口的名称完全相同,所以我不能用这个来区分它们

我试着列出firefox进程的windows句柄,但由于只有一个句柄,所以它不起作用。我也尝试过关闭该进程的主窗口,但由于弹出窗口出现在前面,因此它被视为主窗口,因此这是关闭的窗口

必须有一种方法来选择正确的窗口并关闭它,因为它可以通过任务管理器完成


编辑:作为补充,我想说的是,我尝试了中提到的内容,但也不起作用。

我设法通过将firefox作为隐藏窗口启动来避免我的问题。然后弹出窗口正确出现,我对结果感到满意

$firefox = Start-Process -FilePath "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -ArgumentList "https://myurl" -WindowStyle hidden
Start-Sleep -Seconds 2
Show-Process -Process $firefox

在这种情况下,
Get Process firefox
的结果只返回一行?是的,返回一行:(我试过这样做:顺便说一句,它也不起作用