是否可以从注册表值发送外壳命令

时间:2019-04-14 23:13:10

标签: registry

我有一个用于Windows的无线遥控器。对于其中一个按钮,它将打开Windows Media Player。控制此的注册表项是

[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或为此运行的任何其他进程?

1 个答案:

答案 0 :(得分:0)

我最终使用nircmd处理了该问题。我将注册表项值更改为 "ShellExecute"="C:\\Program Files\\nircmd.exe closeprocess mpc-hc64.exe"

问题解决了