C++ 简单 Hook 和隐藏命令提示符

标签 c++ winapi hook

我是 C++ 的新手,刚刚了解了钩子(Hook),所以我有一个 C++ 程序,它在 KeyEvent 发生时运行一个函数:

LRESULT WINAPI KeyEvent(int nCode, WPARAM wParam, LPARAM lParam)
{  
  //Do C++ stuff
}

这是我目前唯一的钩子(Hook)。

但是我想隐藏执行我的代码时弹出的命令提示符。

有人告诉我可以使用这个片段来隐藏它:

HWND Stealth;
AllocConsole();
Stealth = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(Stealth,0);  

但是,如果我将它放在钩子(Hook)中,它不会隐藏提示,直到按下一个键(不理想),如果我将它放在钩子(Hook)上方(靠近程序顶部),我会收到错误...

所以我的问题是,是否有任何其他类型的 Hook 我可以将代码段放入其中以在程序运行后隐藏命令提示符? - 或者是否有任何其他方法可以像我的代码片段一样隐藏我可以使用的命令提示符?

非常感谢。

最佳答案

更改项目设置以构建“GUI”应用程序(这会更改一些链接器选项),并提供 WinMain入口点而不是主要的。这样就不会有控制台窗口。

关于C++ 简单 Hook 和隐藏命令提示符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12662606/

相关文章:

c++ - 变量没有被正确比较

c++ - 构造对象的方法有什么区别

c - 在 Win32 的 ListView 中保持行永久选中

winapi - 如何通过windows api获取最后一次windows事件时间

javascript - VueTable 2 $refs 对象在挂载的钩子(Hook)中为空

object - OCaml 中是否支持 "hooks"?

c++ - 如何让boost刷新时钟

c++ - 将 auto_ptr 设为友元类

c++ - 只有 wWinMain MSVC 2019 的链接器错误无法解析的外部符号

c++ - Hook WM_SETTEXT 后更改字符串