if (RegisterHotKey(NULL, 1, MOD_ALT | 0x4000, 0x42)) //0x42 is 'b'
{
qDebug() << "Hotkey 'ALT+b' registered, using MOD_NOREPEAT flag";
}
MSG msg = {0};
while (GetMessage(&msg, NULL, 0, 0) != 0)
{
if (msg.message == WM_HOTKEY)
{
qDebug() << "WM_HOTKEY received";
}
}
这样可行,但是这个while循环会冻结我的应用程序。我无法移动它等等。我尝试使用QTimer
并将时间设置为100并添加到最后一个休息时间,它可以工作,但应用程序有一些滞后。还有另外一种方法吗?