可以在 Windows 8 之前的 Windows 版本上注册 Win+V 热键。使用此组合的示例应用程序是PureText http://www.stevemiller.net/puretext/.
在 Windows 8 Release Preview 中,我注意到 Windows 8 已经控制了很多涉及 Windows 键的热键,但 Win+V 似乎没有被使用。以下代码将允许我注册 Win+CTRL+V 的热键:
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
if (RegisterHotKey(
NULL,
1,
MOD_WIN | MOD_NOREPEAT | MOD_CONTROL,
0x56)) // 0x56 is 'v'
{
_tprintf(_T("Hotkey 'CTRL+WIN+V' registered, using MOD_NOREPEAT flag\n"));
}
MSG msg = {0};
while (GetMessage(&msg, NULL, 0, 0) != 0)
{
if (msg.message == WM_HOTKEY)
{
_tprintf(_T("WM_HOTKEY received\n"));
}
}
return 0;
}
如果我将其修改为仅注册 Win+V 那么它将无法注册:
if (RegisterHotKey(
NULL,
1,
MOD_WIN | MOD_NOREPEAT,
0x56)) // 0x56 is 'v'
{
_tprintf(_T("Hotkey 'WIN+V' registered, using MOD_NOREPEAT flag\n"));
}
有没有办法强制注册 Windows+V 热键?我认为可能有一种方法可以通过 Win32 API 挂钩来做到这一点,但自从我研究它以来已经有一段时间了。更容易支持实现这一目标的选项将不胜感激。