我有一个用 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/