我们可以为浏览器注册全局热键吗

Posted

技术标签:

【中文标题】我们可以为浏览器注册全局热键吗【英文标题】:Can we register global hotkeys for a browser 【发布时间】:2013-03-28 23:42:47 【问题描述】:

我们希望注册浏览器事件,即使浏览器已最小化或不在焦点上。例如,假设我们在 Microsoft Word 中执行某项操作,如果我们按下键盘上的某个键(与 Word 或 Windows 操作系统的任何快捷方式无关),它应该会在 Google Chrome 中打开一个新标签。

【问题讨论】:

想象一下网页是否可以做到这一点:编写一个作为键盘记录器的网页是可能的。 【参考方案1】:

解决方案将是特定于浏览器的。您需要为 Firefox 创建 XPCOM 插件,为 Chrome 创建原生应用程序,为 IE 创建扩展程序等。此浏览器特定插件必须使用 Windows API 注册每个热键,然后根据需要处理热键事件;这当然意味着您需要使用可以访问 Windows API 的语言。根据您希望在浏览器中自动化的内容,您可能需要在纯 javascript 中创建一个额外的插件以获得对浏览器 API 的完全访问权限。

【讨论】:

以上是关于我们可以为浏览器注册全局热键吗的主要内容,如果未能解决你的问题,请参考以下文章

我可以根据打开的 URL 创建热键吗?

替换全局热键

Cocoa NSStatusBar 全局热键

禁用 全局快捷键

使用全局热键调用 powershell 函数

如何使用 WPF 和 .NET 3.5 注册全局热键以说出 CTRL+SHIFT+(LETTER)?