问题标签 [registerhotkey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
261 浏览

3dsmax - 通过 kbdx 文件添加 3ds max 热键绑定

假设我有一堆自定义宏已加载到 3ds max 中,并希望为它们分配热键绑定。如果我添加更多内容,我将能够以编程方式执行此操作。

我首先将“A”分配给我称为“A”的脚本:

在此处输入图像描述

这是在 kbdx 文件中导出的内容:

我为接下来的两个添加绑定:

在此处输入图像描述

这是出现在 kbdx 文件中的内容,现在:

似乎没有模式,看起来 kbdx 文件只是一些用于热键/绑定的内部 3DS Max 数据存储的反映。

我尝试通过复制最后一行并将“AltB”替换为“AltC”来绑定 AltC。AltC 绑定到 Alt+B,这是有道理的。似乎没有办法告诉 Max 我想对 AltC 操作使用“Alt+C”。

是否可以通过此文件添加 3ds max 热键绑定?如果是这样,它是如何完成的?

0 投票
0 回答
148 浏览

c# - 如何检测休眠/省电键被按下C#

我有一个键盘(CHERRY KC 1000),它有一些多媒体键,如计算器、邮件、浏览器和一个省电/休眠键(这取决于 Windows 中的节能设置中的哪个设置。

现在我想写一个小应用程序来带回一些多媒体键。我早期的键盘有多媒体键,例如下一曲目、停止和静音。我可以控制它并检测除键盘右上角的省电键之外的所有键。按下此键时如何调用方法。关键事件在省电/节能设置中设置为“无操作”。设置“什么都不做”时是否可以检测到按键被按下?我在网上找不到解决方案。

0 投票
1 回答
659 浏览

c# - C# Registerhotkey() 不会读取一些键码

在尝试使用允许您选择所需热键的 Visual Studio Windows 窗体创建自动点击器应用程序时,我偶然发现了一个问题

当用户输入诸如~/热键之类的键时,将不起作用,但是,如果我输入 0xC0 (用于波浪号)或 0xDC (用于斜线)而不是 (int)[波浪号] 或 (int)'/' 它将起作用.

最重要的是字母必须大写,但这没关系,因为我可以使用 ToUpper() 来大写它

允许用户选择字符的部分很好,它将字母作为字符串返回

这是我实现 RegisterHotKey() 和 UnregisterHotKey() 以及设置表单事件的地方:

这是用户选择他们想要的键时的代码

程序启动时我有一个默认热键CTL + P设置默认热键工作正常,但是当我在/热键选择文本框中输入一个键并通过单击按钮进行设置时,它将停止默认热键工作但是当我按下热键时我只是设置它不会工作。但它适用于大写 A 例如

基本上我要问的是我怎样才能~变成 0xC0 或/0xDC

任何帮助表示赞赏

0 投票
0 回答
68 浏览

vb.net - 使用 RegisterHotKey 时如何检测按下了哪个热键?

我正在制作一个程序,我需要在其中设置多个用户可以按下的热键。我这样声明热键:

所以基本上热键的命令值是从数组中读出的。我的问题是我无法检测到哪个数组被按下(由'hotkeycounter'定义)。我尝试检测按下哪个热键的代码是:

0 投票
1 回答
55 浏览

c# - 如何在 Visual Studio 中设置 RegistryKey 值?

我有一个项目,我正在尝试在新电脑上运行安装程序来测试我的 WPF 应用程序,但不会自动创建注册表项。我试过手动添加它,但我不知道为什么它不起作用,我确定我没有以正确的方式添加密钥。我也很困惑,因为它是一台新电脑,我如何添加一些会自动创建路径的东西?我正在创建的图像是这样的:

[对比图片][1]

我的注册表

0 投票
0 回答
190 浏览

windows - 是否可以为使用上下文菜单处理程序的上下文菜单项创建热键?

我有一个外壳扩展,允许我保存/恢复桌面图标位置。它的命令完全从桌面上下文菜单运行。我想在上下文菜单中为这些项目添加一个热键。

我无论如何都不是程序员,但我可以按照说明进行操作。我看了一堆,看起来有注册表键和编辑加速键的方法,但这仍然需要打开上下文菜单。

我已将AutoHotkey设置为使用我的热键打开上下文菜单并选择该选项,如果我在桌面上,这是一个很好的解决方法,但我仍然想知道将来是否可以不使用脚本 。

代码按预期工作。只是在寻找更好的解决方案。

0 投票
0 回答
674 浏览

javascript - Angular 7 - 为 primeNg 菜单栏实现键盘快捷键

我正在开发 Angular 7 应用程序,它有 primeNg menuBar,我想为顶级菜单项(应该打开二级菜单项列表)和二级菜单项(应该直接转到为此提供的 routerlink)实现快捷方式菜单项)。

我的做法:

  1. 对于菜单,我有 JSON 文件来定义不同的菜单项。在这个 Json 文件中,我添加了一个新属性“shortKey”——它定义了用于该菜单项的快捷键。
  2. 使用上面的 json,创建了 primeNg menuItems 数组。在这里,我正在检查 menuItem 是否有可用的短键,然后使用 Angulr2-Hotkeys 为该短键绑定 keyBoardEvent。
  3. 在键盘事件的回调中,对于顶层菜单:
    • 使用 querySelector 查找顶级菜单项并更改该 dom 元素的 css 样式以显示菜单。
    • 根据该菜单项的 routerLink 导航到组件。

我使用上述方法面临的问题:

  1. 显示顶级菜单后,我需要在文档中其他任何位置的点击事件中隐藏它。因此,文档上的侦听器将一直在侦听。
  2. 过多的直接 dom 交互和 dom 操作。

具有 PrimeNg 菜单的组件

绑定键盘事件的服务(只是一个草稿)

我的问题: 1.上述方法对于在 Angular 7 中使用 PrimeNg 菜单绑定键是否正确?如果不是,有什么更好的解决方案?2. 如果方法没问题,我该如何缓解上述问题?

0 投票
1 回答
45 浏览

c++ - Qt 全局快捷方式扩展劫持快捷方式

我正在使用这个启用全局快捷方式(热键)的 Qt 扩展https://github.com/falceeffect/UGlobalHotkey

它工作得很好,但是如果您启用快捷方式“Ctrl+S”(OSX 上的 Cmd+S) - 通常的保存快捷方式,并运行此扩展程序,它将劫持快捷方式和您拥有的任何应用程序(Word/Sublime 等) in focus 永远不会收到快捷方式 -即使 Qt 应用程序不是焦点

我的问题是/是:

  • 应用程序如何控制这样的快捷方式?当然这几乎是一个漏洞?
  • 我可以将快捷方式“传递”回操作系统或任何其他关注的应用程序吗?
  • 快捷方式的注册顺序是什么?

我的目标是被动地认识到 Ctrl+S(OSX 上的 Cmd+S)已被击中,但不完全劫持它

0 投票
1 回答
198 浏览

c# - 为什么按下热键组合时没有触发我的注册热键

我已经实现了 user32.dll 注册和取消注册热键方法,但是在注册热键后,按下热键时我永远不会收到WndProc消息。0x0312有人可以查看我的代码并帮助我理解为什么我从未收到该0x0312消息。

到目前为止我尝试过的热键组合:

  • Ctrl + Shift + F12
  • F12
  • F9

我的实现只是最常见的实现:

我创建了一个单例类来处理热键的注册和注销:

最后我像这样注册热键:

0 投票
1 回答
144 浏览

c# - WinForms 全局热键输入干扰

我试图让这个键盘钩子在按下时将注册的键回显到标签。我的目标是在窗口失焦时执行此操作。

该程序只寻找密钥*:w, a, s, d


w, a, s, d我遇到的问题是,当该程序运行时,我无法在任何其他程序(例如:记事本)中输入字母。


这是我的表单类:

Form1.cs

以及它用来注册密钥的类:

KeyHandler.cs


我会接受所有建议/答案。谢谢!


更新 1

我能够使用Jimi建议的 GetAsyncKeyState()。虽然这不会干扰在其他窗口中键入,但它不会更新我的应用程序窗口,直到它重新获得焦点。

Form1.cs

KeyState.cs