3

我希望构建自己的应用程序,可以将键盘命令(消息)发送到 Windows 操作系统。

例如,当我按下组合 ctrl+shift+n 时,我希望启动 notepad.exe 。我怎样才能做到这一点?你对我使用的概念有什么建议吗?

我读过这可能是什么时候使用键盘挂钩?这是唯一的方法吗?你知道一个免费的开源应用程序可以做到这一点吗?

4

3 回答 3

3

您的特定示例完全可以在没有任何编程的情况下完成,方法是右键单击记事本,选择属性,并将“热键”(各种 Windows 版本可能以不同的名称调用它)设置为 Ctrl+Shift+N。

如果您仍然想编写一个程序来执行此操作,请查看RegisterHotKey Win32 API 函数。

于 2009-11-19T10:42:27.463 回答
3

AutoHotkey是适用于 Windows 的免费开源实用程序。
您可以使用上述实用程序自动执行许多任务,请查看。

于 2009-11-19T10:46:54.393 回答
2

要记住的事情:

系统范围的键盘挂钩需要编写 DLL。我的网站上有示例键盘挂钩代码

在 Vista 和 Windows 7/8/10 中,无法从低完整性级别到高完整性级别的应用程序安装挂钩。所以不能保证你的钩子会起作用,这取决于当键被击中时前台应用程序是什么。

正如 Greg 指出的那样,很多时候,RegisterHotKey 是解决这个问题的一个更简单的解决方案。

于 2009-11-19T16:07:25.420 回答