【问题标题】:Create HotKey to toggle program on/off using .ps1 PowerShell script使用 .ps1 PowerShell 脚本创建 HotKey 以打开/关闭程序
【发布时间】:2019-07-22 19:40:34
【问题描述】:

我正在使用 .ps1 PowerShell 脚本代码通过设置了 .ps1 文件快捷方式的热键来打开和关闭程序。我正在使用计划任务,因为该程序需要由管理员运行。我的代码旨在通过检查进程是否存在来检查程序是否已经在运行。如果它没有启动进程,如果它启动则停止进程。

代码如下:

$ProcessActive = Get-Process UltraSearch.exe -Module -ErrorAction SilentlyContinue
if ($ProcessActive -eq $null) {
    Start-Scheduledtask -TaskName "UAC\Hide UAC"  
} else {
    Stop-Process UltraSearch.exe
}

进程开始了,但是当我按下热键再次运行脚本时,它并没有停止进程。 它似乎无法找到该进程,但是当我检查 Process Explorer 时,它与我编写的完全一样。

【问题讨论】:

    标签: powershell powershell-2.0


    【解决方案1】:

    尝试如下从 get-process 中删除 .exe 并更改 stop-process 命令。

        $ProcessActive = Get-Process UltraSearch -Module -ErrorAction SilentlyContinue
        if ($ProcessActive -eq $null) {
            Start-Scheduledtask -TaskName "UAC\Hide UAC"  
        } else {
            Stop-Process $ProcessActive
        }
    

    【讨论】:

    • 感谢您的帮助。我试过了,这就是我现在所拥有的以及它给我的错误。$ProcessActive = Get-Process UltraSearch -Module -ErrorAction SilentlyContinue if($ProcessActive -eq $null) { Start-Scheduledtask -TaskName "Hide UAC" } else { 停止进程 $ProcessActive }
    • Start-Scheduledtask : 系统找不到指定的文件。在 C:\Users\jerra\Desktop\Keyboard_Scripts\Tultrasearch.ps1:6 char:2 + Start-Scheduledtask -TaskName "Hide UAC" + ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (PS_ScheduledTask:Root/Microsoft/...S_ScheduledTask) [Start-ScheduledTask], CimException + FullyQualifiedErrorId : HRESULT 0x80070002 ,Start-ScheduledTask
    • NVM 感谢您的帮助。我忘了我必须重新安装 Windows,所以我的计划任务不再存在。我想我们都准备好了! :-) 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-10-12
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2016-09-22
    • 2012-05-19
    • 1970-01-01
    相关资源
    最近更新 更多