【问题标题】:Use a keyboard shortcut to open and close batch file program使用键盘快捷键打开和关闭批处理文件程序
【发布时间】:2015-07-20 21:20:34
【问题描述】:

我对编程超级陌生,时不时地进进出出。但有一次,我想为我的键盘添加功能,以使我的生活更轻松一些。所以我想做的是 ALT + NumPad x 来启动一个程序,如果该程序在 ALT + 时打开NumPad x 被按下,关闭程序。

set program1="chrome"
start %program1%

这将打开程序,但我应该怎么做才能关闭它?使变量program'x'open = true/false/如果为true调用函数关闭,否则什么都没有?我卡在关闭程序部分。

【问题讨论】:

    标签: batch-file key-bindings


    【解决方案1】:

    尝试使用 TSKILL 或 TASKKILL 命令 例如:tskill chrome.exe - 你需要知道进程名 不可能像单击标题栏上的 X 按钮那样关闭程序,因为单击此按钮会执行该程序中的操作。不能使用命令行干预其他程序。

    【讨论】:

      【解决方案2】:

      这是一些用于终止正在运行的程序的代码:

      @echo off
      title TASK KILLER
      color 0A
      :Boot_Up
      echo Hello!
      echo Welcome to TASK KILLER, the function of 
      echo which is to terminate running programs!
      pause
      goto TASK_KILLER
      :TASK_KILLER
      cls
      echo Please name the task you want to terminate!
      echo Example: to terminate Notepad, type notepad.
      echo THIS ONLY TERMINATES EXE PROGRAMS!
      set /p terminate=
      taskkill /im %terminate%.exe /t /f
      pause
      echo TERMINATED!
      pause
      goto TASK_KILLER
      

      它可以终止任何程序,我建议以管理员身份运行,并且知道哪些程序对您的计算机至关重要。现在我想你想要一个开放系统?好了,一切都在这里!

      @echo off
      title TASK KILLER AND OPENER
      color 0A
      :Boot_Up
      echo Hello!
      echo Welcome to TASK KILLER AND OPENER, the function of 
      echo which is to terminate running programs and open new ones!
      echo Type Kill to go to the terminate section, and type Open to go to the opener!
      set /p answer=
      if %answer% equ Kill goto TASK_KILLER
      if %answer% equ Open goto TASK_OPENER
      if %answer% neq Kill goto Boot_Up
      :TASK_OPENER
      cls
      echo Please specify where the program is in your computer.
      echo Example: I:\Code\MyProgram
      set /p directory=
      cd %directory%
      cls
      echo Is the program in %cd%?
      echo Yes (1) or No (2)
      set /p answer=
      if %answer% equ 1 goto TASK_OPENER2
      if %answer% equ 2 goto TASK_OPENER
      if %answer% neq 1 goto TASK_OPENER
      :TASK_OPENER2
      cls
      echo Please name the program.
      echo Example: vlc.exe/MyCode.bat
      echo This can open .bat, .exe, etcetera.
      set /p program=
      start %program%
      pause
      echo DONE!
      pause
      goto Boot_Up
      :TASK_KILLER
      cls
      echo Please name the task you want to terminate!
      echo Example: to terminate Notepad, type notepad
      echo THIS ONLY TERMINATES EXE PROGRAMS!
      set /p terminate=
      taskkill /im %terminate%.exe /t /f
      pause
      echo TERMINATED!
      pause
      goto Boot_Up
      

      你就是这样做的!希望我能帮上忙!

      【讨论】:

      • /im /t /f 是做什么的?
      • /im=图像名称(notepad.exe、fluff.exe)||| /t=终止进程+它的子进程||| /f=强制终止
      【解决方案3】:

      Windows 提供了多种从键盘启动程序的方法,根本不需要批处理文件。最简单的方法是将 Chrome 固定到任务栏。您可以使用 Win+1 启动任务栏上的第一个图标,Win+2 启动第二个图标,依此类推。

      您还可以使用自定义 AltCtrl 组合启动任何快捷方式。创建 Chrome 的快捷方式(无论在哪里)。右键单击快捷方式并选择Properties。在标有Shortcut key 的文本框内单击,然后键入要启动它的按键。

      完成后,您可以使用 Alt+F4 从键盘关闭程序。

      最后,如果同一个键需要同时启动和关闭它,您可以使用上面的快捷方式和批处理文件。将以下内容放入批处理文件中,例如C:\batch\ToggleChrome.cmd

      tasklist | findstr "chrome.exe" && taskkill /im chrome.exe || start d:\path\to\chrome.exe
      

      现在创建一个快捷方式(右键单击、新建、快捷方式)。快捷命令应该是:

      cmd /c c:\batch\ToggleChrome.bat
      

      获得快捷键后,右键单击并使用“属性”对话框设置快捷键。

      【讨论】:

        猜你喜欢
        • 2013-06-06
        • 1970-01-01
        • 1970-01-01
        • 2022-06-24
        • 2012-12-19
        • 1970-01-01
        • 2021-11-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多