我有一个用C++编写的Windows控制台应用程序,想要隐藏/删除控制台窗口的完整标题栏,包括关闭、最小化/最大化等控件。我搜索了很多但还没有找到有用的东西。
我使用GetConsoleWindow查询控制台HWND,并尝试使用SetWindowLong更改控制台窗口样式,通过删除WS_CAPTION标志,但这似乎没有任何效果:
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,但这似乎只能禁用像关闭按钮这样的控件。