首页 > 解决方案 > 是否可以从注册表值发送 shell 命令

问题描述

我有一个适用于 Windows 的无线遥控器。对于其中一个按钮,它将打开 Windows 媒体播放器。控制它的注册表项是

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\16]
"Association"=".cda"

我删除更改"Association"=".cda""Association"=""禁用按钮。

但是,我想将此按钮与关闭名为 mph-hc64.exe 的 exe 相关联。是否可以将 shell 命令作为值?我看到另一个打开计算器的 appkey 是

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18]
"ShellExecute"="calc.exe"

我猜是利用 shell 命令来启动 calc.exe。那么可以SendMessage() WM_CLOSE使用类似的东西来关闭 calc.exe 或为此运行的任何其他进程吗?

标签: registry

解决方案


我刚结束使用 nircmd 来处理这个问题。我将注册表项值更改为 "ShellExecute"="C:\\Program Files\\nircmd.exe closeprocess mpc-hc64.exe"

问题解决了


推荐阅读