neo*_*Dev 55 windows command-line
从命令行关闭/退出程序的正确方法是什么,类似于按窗口角落的“X”关闭按钮?
我试图在 3 个不同版本的 Windows 下关闭 chrome:win7 Ultimate、win7 home、winXP
在 Ultimate 和 XP 下: TSKILL chrome
在主页下:TASKKILL /IM chrome.exe
TSKILL chrome:
(它关闭 chrome,没有 cmd 错误,
但重新启动时chrome 错误恢复)
TASKKILL /IM chrome.exe:
(它关闭 chrome,重新启动时没有 chrome 错误,
但 cmd 中出现错误:“无法终止子进程(大约 4-5 个),只能通过强制使用/F”)
如果重新启动 chrome 显示没有错误,我是否应该忽略 cmd 子错误?
Dav*_*ann 47
关闭/退出程序的正确方法最终取决于软件。但是,通常最佳做法是让 Windows 程序在收到 WM_CLOSE 消息时关闭。正确释放内存并关闭句柄。还有其他消息可以表示应用程序的关闭,但是如何处理每条消息取决于软件的作者。
taskkill /IM process.exe
Run Code Online (Sandbox Code Playgroud)
taskkill 发送 WM_CLOSE 消息,然后由应用程序是否正确关闭。您可能还想使用该/T选项来向子进程发送信号。
仅/F当您想强制终止进程时才使用该选项。
其他选项包括发送 Alt+F4 键、使用 PowerShell 或 3rd 方应用程序。
忽略,错误。 Chrome 会生成许多进程。当进程不确认 TASKKILL 发送的 WM_CLOSE 消息时会导致错误。只有具有消息循环的进程才能接收消息,因此,没有消息循环的进程将产生该错误。最有可能的是,这些进程是 chrome 扩展和插件。
隐藏错误捕获输出
taskkill /IM chrome.exe >nul
Run Code Online (Sandbox Code Playgroud)
总结: TASKKILL 是通过命令行关闭应用程序的正确方法,每个 WM_CLOSE 实现和我链接的Microsoft KB。
有一些命令行实用程序可以将合适的WM_SYSCOMMAND消息(作为SC_CLOSE命令)发送到程序的顶级窗口。我确信很快就会至少提到一个。(然后有人会提到 AutoIt。然后会有一个答案展示如何使用 PowerShell 和 来做到这一点CloseMainWindow()。)
JP Software 的 TCC (Windows 的命令解释器和命令脚本处理器)中作为内置命令提供的命令行实用程序称为TASKEND。
| 归档时间: |
|
| 查看次数: |
418231 次 |
| 最近记录: |