【发布时间】:2012-09-30 15:50:00
【问题描述】:
我是 C++ 新手,刚刚了解了钩子,所以我有一个 C++ 程序,它在 KeyEvent 发生时运行一个函数:
LRESULT WINAPI KeyEvent(int nCode, WPARAM wParam, LPARAM lParam)
{
//Do C++ stuff
}
这是我目前唯一的钩子。
但是我想隐藏执行代码时弹出的命令提示符。
我被告知我可以使用这个 sn-p 来隐藏它:
HWND Stealth;
AllocConsole();
Stealth = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(Stealth,0);
但是,如果我将它放在钩子中,它不会隐藏提示,直到按下一个键(不理想),如果我将它放在钩子上方(靠近程序顶部),我会收到错误...
所以我的问题是,有没有其他类型的钩子可以在程序运行后放置 sn-p 以隐藏命令提示符? - 或者有没有像我的 sn-p 这样的其他方式来隐藏我可以使用的命令提示符?
非常感谢。
【问题讨论】:
-
Hooks 不是 C++ 的东西(语言标准没有提到它们)而是 WINAPI 的东西。如果您使用 Qt 编码(这将使您的代码可移植到 Windows、Linux、MacOSX...),您将不会使用钩子(但 Qt 信号和槽机制)。
-
如果您不需要控制台,为什么不创建程序
Win32并且不创建任何窗口? -
我该怎么做?