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

asd*_*ael 6 c++ console winapi

我有一个用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 ); 
Run Code Online (Sandbox Code Playgroud)

我也试过GetSystemMenu/RemoveMenu,但这似乎只是禁用像关闭按钮这样的控件.

Joe*_*oey 5

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