C++ 控制台应用程序,隐藏标题栏

标签 c++ winapi console

我有一个用 C++ 编写的 Windows 控制台应用程序,我想隐藏/删除控制台窗口的完整标题栏,包括关闭、最小/最大控件等。我搜索了很多但还没有找到任何有用的东西。

我使用 GetConsoleWindow 查询控制台 HWND,并尝试通过删除 WS_CAPTION 标志使用 SetWindowLong 更改控制台窗口样式,但这似乎根本没有效果:

HWND hwnd = GetConsoleWindow();
LONG style = GetWindowLong(hwnd, GWL_STYLE);
style &= ~(WS_BORDER|WS_CAPTION|WS_THICKFRAME);
SetWindowLong(hwnd, GWL_STYLE, style);

SetWindowPos( hwnd, NULL, 0,0,0,0,
       SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_NOACTIVATE
       |SWP_FRAMECHANGED ); 

我也试过 GetSystemMenu/RemoveMenu 但这似乎只能禁用关闭按钮等控件。

最佳答案

你不能。通常,不能保证控制台窗口的 hWnd 适用于所有窗口句柄操作,例如记录在案的 here。 .

关于C++ 控制台应用程序,隐藏标题栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1599702/

相关文章:

C#:以编程方式为 console.readline 输入文本

c# - 关闭控制台应用程序的命令?

JavaScript - 通过 JavaScript 访问网络选项卡

c++ - C++使用WaitForMultipleObjects检测完成哪个线程

c++ - 访问私有(private)嵌套类

c++ - Microsoft 的 WMI 库中的内存泄漏。有没有办法减轻它?

winapi - Win32 控制台应用程序能否检测到它是否已从资源管理器中运行?

c++ - 在 C++ 中将十六进制转换为整数的最快方法是什么?

c++ - 是否可以使函数模板对不适当的类型而不是错误执行默认操作?

c++ - 无法使用 LoadIcon WINAPI 从资源加载图标