2
我試圖找到一種方法,我可以在我的Qt應用程序中使用全系統熱鍵。要檢查GetMessage
的消息,您需要一個while()
循環。這會導致窗口鎖定並被禁用,但是仍然會爲每個熱鍵處理功能。系統熱鍵快捷鍵(Windows/Qt):防止窗口鎖定?
如何以同時運行while循環的方式允許我的ui
進行響應?
例
#define MOD_NOREPEAT 0x4000
#define MOD_ALT 0x0001
#include "stdafx.h"
#include <QDebug>
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
RegisterHotKey(NULL,1,MOD_ALT | MOD_NOREPEAT,0x42);
RegisterHotKey(NULL,2,MOD_ALT | MOD_NOREPEAT,0x44);
QApplication a(argc, argv);
MainWindow w;
w.show();
MSG msg;
while(GetMessage(&msg,NULL,0,0)){
if (msg.message == WM_HOTKEY){
if (msg.wParam == 1) qDebug() << "Hot Key activated : ALT + B";
if (msg.wParam == 2) qDebug() << "Hot Key activated : ALT + D";
}
}
return a.exec();
}
甜,非常感謝這篇文章。我第一次使用qt和windows應用程序,所有這一切都是一個很好的時間。 – dtc