HHOOK g_hMouse;
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
...
g_hMouse = SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc, GetModuleHandle(NULL), 0);
f (!g_hMouse)
{
return 0;
}
while ( GetMessage(&msg, NULL, 0, 0) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
UnhookWindowsHookEx(g_hMouse);
return (int) msg.wParam;
}
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
char szBuf[128];
int errcode = 0;
LPMSLLHOOKSTRUCT lhook = (LPMSLLHOOKSTRUCT)lParam;
switch (LOWORD(wParam))
{
case WM_LBUTTONDOWN:
...
break;
}
return CallNextHookEx(g_hMouse,nCode,wParam,lParam);
}
SEhPT0sgZ19oTW91c2U7CgppbnQgQVBJRU5UUlkgV2luTWFpbihISU5TVEFOQ0UgaEluc3RhbmNlLCBISU5TVEFOQ0UgaFByZXZJbnN0YW5jZSwgTFBTVFIgbHBDbWRMaW5lLCBpbnQgbkNtZFNob3cpCnsKCS4uLgoJCglnX2hNb3VzZSA9IFNldFdpbmRvd3NIb29rRXgoV0hfTU9VU0VfTEwsIExvd0xldmVsTW91c2VQcm9jLCBHZXRNb2R1bGVIYW5kbGUoTlVMTCksIDApOwoJCglmICghZ19oTW91c2UpCiAgICB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgoJd2hpbGUgKCBHZXRNZXNzYWdlKCZtc2csIE5VTEwsIDAsIDApICkKICAgIHsKICAgICAgICBUcmFuc2xhdGVNZXNzYWdlKCZtc2cpOwogICAgICAgIERpc3BhdGNoTWVzc2FnZSgmbXNnKTsKICAgIH0KCiAgICBVbmhvb2tXaW5kb3dzSG9va0V4KGdfaE1vdXNlKTsKICAgIAogICAgcmV0dXJuIChpbnQpIG1zZy53UGFyYW07Cn0KCkxSRVNVTFQgQ0FMTEJBQ0sgTG93TGV2ZWxNb3VzZVByb2MoaW50IG5Db2RlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQp7CiAgICBjaGFyIHN6QnVmWzEyOF07CiAgICBpbnQgZXJyY29kZSA9IDA7CgogICAgTFBNU0xMSE9PS1NUUlVDVCBsaG9vayA9IChMUE1TTExIT09LU1RSVUNUKWxQYXJhbTsKCiAgICBzd2l0Y2ggKExPV09SRCh3UGFyYW0pKQogICAgewogICAgICAgIGNhc2UgV01fTEJVVFRPTkRPV046CgkJCS4uLgogICAgICAgICAgICBicmVhazsKICAgIH0KCglyZXR1cm4gQ2FsbE5leHRIb29rRXgoZ19oTW91c2UsbkNvZGUsd1BhcmFtLGxQYXJhbSk7Cn0K
prog.c:1:1: error: unknown type name 'HHOOK'
HHOOK g_hMouse;
^
prog.c:3:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'WinMain'
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
^
prog.c:25:1: error: unknown type name 'LRESULT'
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
^
prog.c:25:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'LowLevelMouseProc'
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
^