删除标题栏上所有三个按钮并删除我在“Windows 7”中使用的滚动条的代码到目前为止列出:
#define WINVER 0x0501 // WinXP and UP
#include <windows.h>
int main ( void )
{
//Get a console handle
HWND ConsoleWindow = GetConsoleWindow();
//Change Settings
SetWindowLong (ConsoleWindow, GWL_STYLE, WS_THICKFRAME);
SetWindowLong (ConsoleWindow, GWL_STYLE, WS_CAPTION);
SetWindowPos (ConsoleWindow, HWND_TOPMOST, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_SHOWWINDOW);
//Resize
system ("mode con cols=75 lines=50");
system ("pause>nul");
return 0;
}
编译命令:
mingw32-gcc.exe -c "Console_Graphing_10.c" -o "Console_Graphing_10.o"
mingw32-gcc.exe -o "Console_Graphing_10.exe" "Console_Graphing_10.o"
但是这不能删除标题栏上的所有三个按钮并删除“Windows XP”中的滚动条
有没有更好的代码来实现这一目标?感谢。
答案 0 :(得分:1)
你可以试试这个:
#define WINVER 0x0501 // WinXP and UP
#include <windows.h>
int main ( void )
{
LONG style;
HWND ConsoleWindow;
ConsoleWindow = GetConsoleWindow();
style = GetWindowLong(ConsoleWindow, GWL_STYLE);
style &= ~( WS_MINIMIZEBOX | WS_SYSMENU );
SetWindowLongPtr(ConsoleWindow, GWL_STYLE, style);
SetWindowPos(ConsoleWindow, NULL, 0, 0, 0, 0, SWP_FRAMECHANGED |
SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOOWNERZORDER);
system ("pause>nul");
return 0;
}
将删除所有按钮:
答案 1 :(得分:1)
我发现 我的评论后说我认为不可能......
void ClearButtons(void)
{
int index = WS_BORDER;
unsigned int a = (unsigned int)((WS_BORDER | WS_CAPTION) & (~WS_ICONIC));
LONG_PTR lPtr;
HWND hWnd = GetActiveWindow();
lPtr = GetWindowLongPtr(hWnd, index);
SetWindowLongPtr(hWnd, GWL_STYLE, a);
}
注意: 在编译32位Windows时,SetWindowLongPtr被定义为对SetWindowLong函数的调用。因此,应该使用Windows 7或XP(没有测试)
测试图像: