c# - 如何通过 Ctrl+Shift+d 使用 registerHotKeys 函数

标签 c# winapi hotkeys

我在我的代码中为 Ctrl+Shift+d 设置了一个热键。我现在已经可以使用 Ctrl+d 来工作了(几乎可以...),但是我不知道如何让第二个修饰符 (Shift) 工作。以下是我目前仅使用 Ctrl+d 调用函数的方式

Win32.RegisterHotKey(hWndSource.Handle, add, Win32.MOD_CONTROL, Win32.VK_KEY_D);

我想使用 Win32.MOD_CONTROL 和 Win32.MOD_SHIFT。

谢谢!

最佳答案

您应该通过 Win32.MOD_CONTROL | Win32.MOD_SHIFT 作为第三个参数(而不仅仅是 Win32.MOD_CONTROL)。它在修饰符标志中将 CONTROLSHIFT 值按位或运算。

这记录在 RegisterHotKey 的 API 页面中功能:

The fsModifiers parameter can be a combination of the following values.

按位或 (|) 将 MOD_CONTROLMOD_SHIFT 值合并为一个值,同时设置了两个位。

关于c# - 如何通过 Ctrl+Shift+d 使用 registerHotKeys 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8935874/

相关文章:

windows - 如何在 Pascal Script/Inno Setup 中使用 WinAPI 中的 PathCombine()?

macos - Applescript:将鼠标光标移动到 'currently selected item' ?

Java JMenu CTRL+C 快捷键不起作用

C# 在红外线 Action 中抛出使其在解析重载时成为 Function

c# - LINQ,仅选择子项的第一个元素

c++ - 用 C++ 显示 latex 字符串

c++ - 具有资源管理器主题的 CTreeCtrl 不支持 DPI

wpf - 如何通过修改xaml为按钮创建热键?

c# - 并发请求预防

c# - CLI C++ 派生自 C# 一次性类