我正在尝试使用应用程序ID启动Windows应用程序,例如Microsoft.WindowsCalculator_8wekyb3d8bbwe!App
,我通过调用Get-StartApps
来获取该ID。
目前,我可以启动应用程序,但无法获得正确的PID。
cmd = exec.Command("powershell", "start", `shell:AppsFolder\Microsoft.WindowsCalculator_8wekyb3d8bbwe!App`)
err := cmd.Start()
fmt.Println(cmd.Process.Pid)
这将返回PowerShell的PID
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe start shell:AppsFolder\Microsoft.WindowsCalculator_8wekyb3d8bbwe!App
是否有一种方式可以通过AppID启动应用程序,同时仍然获得正确的PID?
CalculatorApp
的问题:这很奇怪,因为在我的 Windows 10 机器上它肯定是Calculator
- 你是在 Windows 11 上吗?启动计算器后,(Get-Process *calc*).Name
对你返回的是CalculatorApp
吗?总的来说,通过进程名称搜索并不理想,但在这种情况下它是最好的解决方案。 - mklement0