没有控制台,键盘记录器不会记录按键笔划 我在C++中创建了一个小的基本密钥记录器。出于某种原因,当我编译并运行显示控制台的程序时,它将记录我在任何程序(如浏览器)中所做的每一次按键,并将其存储在文本文件中。然而,当我使它不会显示控制台窗口时,它不会记录任何东西,它只是一个在后台不做任何事情的过程。以下是指向我的代码的链接: 隐藏控制台给我带来麻烦的函数是隐身()函数。任何建议、提示或提示都会很有帮助。

没有控制台,键盘记录器不会记录按键笔划 我在C++中创建了一个小的基本密钥记录器。出于某种原因,当我编译并运行显示控制台的程序时,它将记录我在任何程序(如浏览器)中所做的每一次按键,并将其存储在文本文件中。然而,当我使它不会显示控制台窗口时,它不会记录任何东西,它只是一个在后台不做任何事情的过程。以下是指向我的代码的链接: 隐藏控制台给我带来麻烦的函数是隐身()函数。任何建议、提示或提示都会很有帮助。,c++,logging,hwnd,keylogger,findwindow,C++,Logging,Hwnd,Keylogger,Findwindow,使用此功能,它对我非常有用 ShowWindow(GetConsoleWindow(), SW_HIDE); 如果你不需要UI,我会考虑使用Windows服务。如果需要,使用GetAsyncKeyState也可以更隐蔽。这个C++源可能有用……/p> 我没有在程序启动后隐藏窗口,而是通过不隐藏来解决这个问题 一开始就有一个窗口。使用-mwindows编译,但窗口不可用 在程序启动时创建 隐藏()的意义是什么?如果您作为控制台程序运行,您已经有了一个控制台,那么只需ShowWindow(Ge

使用此功能,它对我非常有用

  ShowWindow(GetConsoleWindow(), SW_HIDE);

如果你不需要UI,我会考虑使用Windows服务。如果需要,使用GetAsyncKeyState也可以更隐蔽。这个C++源可能有用……/p>

我没有在程序启动后隐藏窗口,而是通过不隐藏来解决这个问题 一开始就有一个窗口。使用
-mwindows
编译,但窗口不可用 在程序启动时创建


隐藏()的意义是什么?如果您作为控制台程序运行,您已经有了一个控制台,那么只需
ShowWindow(GetConsoleWindow(),SW_HIDE)
;如果您作为GUI运行。。。根本不要创建控制台。请将您的代码缩减为a,并将代码包含在您的问题中,而不是链接到它。这对我也不起作用。您可能需要使记录器更加复杂,并对来自操作系统的事件做出响应。这将是我了解情况的唯一可靠方法。处理Win32或POSIX是一件痛苦的事情,但确实有效。请将
int main()
更改为
int\u stdcall-WinMain(HINSTANCE-HINSTANCE、HINSTANCE-hPrevInstance、LPSTR-lpCmdLine、int-nCmdShow)
。然后卸下
显示窗口
。。这将使控制台不可见。