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
|
#define _WIN32_WINNT 0x0501
#include <windows.h>
HHOOK hHook;
HINSTANCE hExe;
LRESULT CALLBACK HookProc ( int, WPARAM, LPARAM );
MSG message;
int main()
{
hExe = GetModuleHandle(0);
hHook = SetWindowsHookEx( WH_MOUSE_LL, (HOOKPROC) HookProc, hExe, 0);
while (GetMessage (&message,NULL,0,0))
{
TranslateMessage( &message );
DispatchMessage( &message );
}
UnhookWindowsHookEx(hHook);
return 0;
}
LRESULT CALLBACK HookProc ( int nCode, WPARAM wParam, LPARAM lParam)
{
if (wParam == WM_XBUTTONDOWN)
{
MSLLHOOKSTRUCT *mouseInfo = (MSLLHOOKSTRUCT*)lParam;
if(HIWORD(mouseInfo->mouseData) == XBUTTON1)
{
ShellExecuteA (NULL, "explore", "c:\\Users\\Default\\AppData\\Roaming\\Microsoft\\Windows\\STARTM~1\\Programs\\Accessories\\SYSTEM~1\\computer.lnk", 0, 0, SW_SHOWNORMAL);
}
if(HIWORD(mouseInfo->mouseData) == XBUTTON2)
{
ShellExecuteA (NULL, "open", "firefox", 0, 0, SW_SHOWNORMAL);
}
}
if (wParam == WM_XBUTTONUP)
{
//???????????????????
}
return CallNextHookEx(hHook, nCode, wParam, lParam);
} |
Partager