首页 > 解决方案 > 如何在win10中创建在后台而不是前台运行命令的热键?

问题描述

要在 win10'cmd 中在前台执行我的应用程序:

c:\myapp\app.exe -c c:\myapp\config.json

我想用上面的 cmd 命令创建一个热键绑定并在后台执行。

点击桌面--新建--热键,c:\myapp\app.exe -c c:\myapp\config.json在目标菜单中写入命令,命名myapp

在此处输入图像描述

写是没有用的start "c:\myapp\app.exe -c c:\myapp\config.json"

在此处输入图像描述

按下时遇到错误apply

在此处输入图像描述

现在我的win10桌面有一个热键,点击热键myapp,它在前台执行,如何让它在后台运行?

将其编写为start /B c:\myapp\app.exe -c c:\myapp\config.json并选择normal window运行中选择菜单是没有用的。

该命令c:\myapp\app.exe -c c:\myapp\config.json启动我的应用程序并在窗口的 cmd 控制台中显示所有信息,我想让它作为守护进程运行,而不是在窗口的 cmd 控制台中显示所有信息。

标签: windowscmdbackgroundhotkeys

解决方案


有几种不同的方法。
注意:它们都不适用于像 Calc.exe 这样的 GUI 程序

1.start从快捷方式文件中删除,运行选择最小化

这将创建一个最小化窗口,但在程序完成后会自动关闭。


2.如果您有源代码,请创建一个 Windows 应用程序,而不是控制台应用程序。


3. 使用 Windows 脚本宿主

  1. 如下创建一个 VBS 文件。
  2. 创建 VBS 文件的快捷方式并设置“快捷键”部分。
Option Explicit

Dim shell
Set shell = WScript.CreateObject("WScript.Shell")

shell.Run "c:\myapp\app.exe -c c:\myapp\config.json", 0, True

Set shell = Nothing

我想让它作为守护进程运行,而不是在窗口的 cmd 控制台中显示所有信息。

如果您希望控制台打开,但不想看到来自应用程序的消息,请尝试 c:\myapp\app.exe -c c:\myapp\config.json 1>nul 2>&1.


推荐阅读