1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
#include "hotkeys_thread.h"
Hotkeys_Thread::Hotkeys_Thread(QObject *parent) :
QThread(parent)
{
clipboard = QApplication::clipboard();
}
Hotkeys_Thread::~Hotkeys_Thread(){
UnregisterHotKey(NULL, 1);
UnregisterHotKey(NULL, 2);
UnregisterHotKey(NULL, 3);
UnregisterHotKey(NULL, 4);
UnregisterHotKey(NULL, 5);
UnregisterHotKey(NULL, 6);
UnregisterHotKey(NULL, 7);
UnregisterHotKey(NULL, 8);
UnregisterHotKey(NULL, 9);
UnregisterHotKey(NULL, 10);
}
void Hotkeys_Thread::read(){
qDebug() << "Read";
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(VkKeyScan('c'), 0, 0, 0);
keybd_event(VkKeyScan('c'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
}
void Hotkeys_Thread::write(){
qDebug() << "Write";
Sleep(250);
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(VkKeyScan('v'), 0, 0, 0);
keybd_event(VkKeyScan('v'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
}
void Hotkeys_Thread::run(){
//*
// Hotkey copy:
RegisterHotKey(NULL, 1, MOD_CONTROL, VK_F2);
RegisterHotKey(NULL, 2, MOD_CONTROL, VK_F2);
RegisterHotKey(NULL, 3, MOD_CONTROL, VK_F3);
RegisterHotKey(NULL, 4, MOD_CONTROL, VK_F4);
RegisterHotKey(NULL, 5, MOD_CONTROL, VK_F5);
// Hotkey paste:
RegisterHotKey(NULL, 6, MOD_ALT , VK_F1);
RegisterHotKey(NULL, 7, MOD_ALT, VK_F2);
RegisterHotKey(NULL, 8, MOD_ALT, VK_F3);
RegisterHotKey(NULL, 9, MOD_ALT, VK_F4);
RegisterHotKey(NULL, 10, MOD_ALT, VK_F5);
MSG msg = {0};
while (GetMessage(&msg, NULL, 0, 0) != 0)
{
switch (msg.wParam) { // msg.wParam retourne l'id du raccourcis clavier utilisé;
case 1:
qDebug() << "copy 1";
read();
Sleep(100);
emit copy1(clipboard->text());
break;
case 2:
qDebug() << "copy 2";
read();
Sleep(100);
emit copy2(clipboard->text());
break;
case 3:
qDebug() << "copy 3";
read();
Sleep(100);
emit copy3(clipboard->text());
break;
case 4:
qDebug() << "copy 4";
read();
Sleep(100);
emit copy4(clipboard->text());
break;
case 5:
qDebug() << "copy 5";
read();
Sleep(100);
emit copy5(clipboard->text());
break;
case 6:
qDebug() << "paste 1";
emit paste1();
break;
case 7:
qDebug() << "paste 2";
emit paste2();
break;
case 8:
qDebug() << "paste 3";
emit paste3();
break;
case 9:
qDebug() << "paste 4";
emit paste4();
break;
case 10:
qDebug() << "paste 5";
emit paste5();
break;
default:
break;
}
}
} |
Partager