我正在尝试编写一个小程序(在C中),它将按下的每个按键写入.txt文件(是的,它是一个键盘记录器)。
但我不想使用stdio,因为我正在使用FreeConsole();
。
#include <stdio.h>
#include <windows.h>
int main()
{
char c;
int i = 0;
FILE *datei;
datei = fopen("test.txt","w+");
if (datei == NULL) exit(1);
FreeConsole();
while(1)
{
c = ??? ; //get KeyCode of pressed key
fprintf(datei, "%c",c);
if (c == 27)
{
break;
}
printf("%c",c);
}
fclose(datei);
return(0);
}
希望我说清楚(希望)
谢谢! :)
答案 0 :(得分:3)
只有标准库才能做到这一点。未指定标准库中的显式FILE*
的I / O函数从标准输入(stdin
)获取其数据。
因此,标准输入不一定必须附加到终端,您可以从终端检索实际的击键。您必须查看操作系统的文档和API。