Dlaczego?
Gimnazjalista by to zrobił.
Wykorzystanie dodatkowych przycisków myszki:
#include
#include
HHOOK hook = 0;
char target[32] = {0};
int last = 0;
void btn(int i,int up) {
if(3*up+i != last) keybd_event(VK_F1+i,MapVirtualKey(VK_F1+i,0),up,0);
last = 3*up+i;
}
LRESULT CALLBACK proc(int disabled,WPARAM wp,LPARAM lp) {
int *m = (int *)lp;
if (!disabled) {
if( m[1] == 0x0465 && m[2] == 0x0000 && m[3] == 2 ) btn(0,0);
if( m[1] == 0x0464 && m[2] == 0x0000 && m[3] == 2 ) btn(0,2);
if( m[1] == 0x0465 && m[2] == 0x0000 && m[3] == 4 ) btn(1,0);
if( m[1] == 0x0464 && m[2] == 0x0000 && m[3] == 4 ) btn(1,2);
if( m[1] == 0x1f58 && m[2] == 0x1b70 && m[3] == 0 ) btn(2,0);
if( m[1] == 0x1f58 && m[2] == 0x1b70 && m[3] == 1 ) btn(2,2);
if( m[1] == 0x1f58 && m[2] == 0x1b71 && m[3] == 0 ) btn(3,0);
if( m[1] == 0x1f58 && m[2] == 0x1b71 && m[3] == 1 ) btn(3,2);
if( m[1] == 0x1f58 && m[2] == 0x1b72 && m[3] == 0 ) { btn(4,0); Sleep(10); btn(4,2); }
if( m[1] == 0x1f58 && m[2] == 0x1b73 && m[3] == 0 ) { btn(5,0); Sleep(10); btn(5,2); }
}
return CallNextHookEx(hook,disabled,wp,lp);
}
extern “C” __declspec(dllexport) void inst(HWND, HINSTANCE, char* cmd){
if(!cmd||hook) return; strncpy(target,cmd,sizeof(target));
hook = SetWindowsHookEx(WH_GETMESSAGE,proc,GetModuleHandle(“hook”),0);
MSG msg; while(GetMessage(&msg,0,0,0)) { TranslateMessage( &msg ); DispatchMessage( &msg ); Sleep(10); }
}
long __stdcall DllMain( HINSTANCE dll,DWORD reason){
return strstr(GetCommandLine(),target) ? 1 : 0;
}
