user-0 提问: 有没有人知道什么语句能让运行cmd的程序直接最大化运行？

回复:
user: user-1
content: 最大化了，但还是同屏显示不下要显示的内容。 此时可以试试使用4楼的代码。

user: user-2
content: Windows 平台的确是这样做： HWND hwnd = GetConsoleWindow(); ShowWindow(hwnd, SW_HIDE); // 不加这一句会看到最大化的动作 ShowWindow(hwnd, SW_MAXIMIZE);

user: user-3
content: 标准库没有这种函数，因为标准库中没有 GUI 函数

user: user-4
content: 直接修改注册表。让cmd命令缺省就是最大化的。  [HKEY_CURRENT_USER\Console]  "FullScreen"=dword:00000001

user: user-5
content: system("mode con cols=80 lines=80");//窗口宽度高度

user: user-3
content: 没啥要求吧。

user: user-0
content: 引用 3 楼 lm_whales 的回复:HWND hwnd =::GetConsoleWindow(); SendMessage(hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0);最大化 ///SendMessage(hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0); // 最小化 ///SendMessage(hwnd, WM_SYSCOMMAND, SC_CLOSE, 0); // 关闭 ///SendMessage(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0); // 最大最小化化状态还原  这些窗口句柄 使用上有什么要求吗？

user: user-1
content: 再供参考： C:\>mode /? 配置系统设备。  串行口:　　　   MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]                              [to=on|off] [xon=on|off] [odsr=on|off]                              [octs=on|off] [dtr=on|off|hs]                              [rts=on|off|hs|tg] [idsr=on|off]  设备状态:       MODE [device] [/STATUS]  打印重定向:　　 MODE LPTn[:]=COMm[:]  选定代码页:　　 MODE CON[:] CP SELECT=yyy  代码页状态:　　 MODE CON[:] CP [/STATUS]  显示模式:　　   MODE CON[:] [COLS=c] [LINES=n]  击键率:　       MODE CON[:] [RATE=r DELAY=d]  mode con cols=120 lines=9999

user: user-1
content: 仅供参考：//控制台的字体大小是可以改变的。系统为我们提供了许多的API，能更改字体大小的API正隐身其中。网上没有控制台字体大小的相关资料， //关于控制台字体大小的教程是本博客独家放出。本文将教会你如何使用这些API，达到修改控制台字体大小的目的。 //一般控制台中每个输出缓冲区都有一个固定的字体。系统中的字体，每一种都有对应的序号，每种字体大小不同。想要修改为一种新的字体， //就将这种字体的序号赋值给控制台缓冲区即可。一般来说，系统所有的字体总数不超过40个，因此循环获取信息时可以以这个为上限。 //首先放出需要用到的API列表： //（如下大部分API都没有公布，至最近才公布了其中几个的详细信息）  //bool SetConsoleFont(HANDLE,DWORD) //注意了，这个函数一旦调用，所有文字字体大小全部变化，窗口大小也变了。这个是用于设置字体大小 //第一个参数为输出句柄，第二个参数为新字体大小序号  //bool GetConsoleFontInfo(HANDLE,BOOL,DWORD,CONSOLE_FONT*) //这个是用于获取字体信息 //第一个参数为输出句柄，第二个参数应设为0，第三个参数为欲获取信息的字体序号，第四个参数为CONSOLE_FONT结构体的指针，API将返回的信息放置在这个结构体里  //COORD GetConsoleFontSize(HANDLE,DWORD) //这个是用于获取字体大小 //第一个参数为输出句柄，第二个参数为欲获取大小的字体序号，返回的COORD的两个成员就是字体的大小  //DWORD GetNumberOfConsoleFonts() //这个是用于获取可用字体数 //返回可用字体总数  //bool GetCurrentConsoleFont(HANDLE,BOOL,CONSOLE_FONT*) //这个是用于获取当前字体的信息 //第一个参数为输出句柄，第二个参数应设为0，第三个参数为CONSOLE_FONT结构体的指针，API将返回的信息放置在这个结构体里  //结构体CONSOLE_FONT： //struct CONSOLE_FONT{ DWORD index; COORD dim;}; //第一个成员是字体的序号，第二个成员是字体的大小 //这是些未公布的API，所以需要动态载入，首先在全局声明： #pragma comment(lib,"user32") #pragma comment(lib,"gdi32") #pragma comment(lib,"shell32") #include <windows.h> #include <Shlwapi.h> #include <shlobj.h> #include <stdio.h> struct CONSOLE_FONT{ DWORD index; COORD dim;}; typedef BOOL  (WINAPI *PROCSETCONSOLEFONT         )(HANDLE, DWORD); typedef BOOL  (WINAPI *PROCGETCONSOLEFONTINFO     )(HANDLE,BOOL,DWORD,CONSOLE_FONT*); typedef COORD (WINAPI *PROCGETCONSOLEFONTSIZE     )(HANDLE,DWORD); typedef DWORD (WINAPI *PROCGETNUMBEROFCONSOLEFONTS)(); typedef BOOL  (WINAPI *PROCGETCURRENTCONSOLEFONT  )(HANDLE,BOOL,CONSOLE_FONT*); PROCSETCONSOLEFONT          SetConsoleFont; PROCGETCONSOLEFONTINFO      GetConsoleFontInfo; PROCGETCONSOLEFONTSIZE      GetConsoleFontSize; PROCGETNUMBEROFCONSOLEFONTS GetNumberOfConsoleFonts; PROCGETCURRENTCONSOLEFONT   GetCurrentConsoleFont; extern "C" HWND WINAPI GetConsoleWindow(); int main(int argc, char *argv[]) {     //然后在程序启动的时候进行载入：     HMODULE hKernel32 = GetModuleHandle("kernel32");     SetConsoleFont          = (PROCSETCONSOLEFONT         )GetProcAddress(hKernel32,"SetConsoleFont"         );     GetConsoleFontInfo      = (PROCGETCONSOLEFONTINFO     )GetProcAddress(hKernel32,"GetConsoleFontInfo"     );     GetConsoleFontSize      = (PROCGETCONSOLEFONTSIZE     )GetProcAddress(hKernel32,"GetConsoleFontSize"     );     GetNumberOfConsoleFonts = (PROCGETNUMBEROFCONSOLEFONTS)GetProcAddress(hKernel32,"GetNumberOfConsoleFonts");     GetCurrentConsoleFont   = (PROCGETCURRENTCONSOLEFONT  )GetProcAddress(hKernel32,"GetCurrentConsoleFont"  );     //载入完毕之后，就可以进行编程对字体大小控制了。      int NumOfFont,i,X=0,Y=0,IconIndex=0;     char *IconFile=NULL;     NumOfFont = GetNumberOfConsoleFonts();     CONSOLE_FONT *fonts = new CONSOLE_FONT[NumOfFont];     HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);     GetConsoleFontInfo(hConsole, 0, NumOfFont, fonts);     if (argc==1) {         printf("Set Console FontSize and Icon. Designed by zhao4zhong1@163.com 2015-07-10\n");         printf("Usage: %s [XxY] [IconFile] [IconIndex]\n",argv[0]);         printf("May availible Font Size:\n X x  Y\n-- x --\n");     }     if (argc==2) {         if (2!=sscanf(argv[1],"%dx%d",&X,&Y))         IconFile=argv[1];     } else if (argc==3) {         if (2!=sscanf(argv[1],"%dx%d",&X,&Y)) {             IconFile=argv[1];             sscanf(argv[2],"%d",&IconIndex);         } else {             IconFile=argv[2];         }     } else if (argc==4) {         sscanf(argv[1],"%dx%d",&X,&Y);         IconFile=argv[2];         sscanf(argv[3],"%d",&IconIndex);     }     if (IconFile) {         HWND hwnd=GetConsoleWindow();         if (hwnd) {             HICON hIconS=NULL;             if (1<=ExtractIconEx(IconFile,IconIndex,NULL,&hIconS,1)) {                 if (hIconS) {                     SendMessage(hwnd,WM_SETICON,ICON_SMALL,(LPARAM)hIconS); //                  DestroyIcon(hIconS);                 }                 SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_FLUSH, NULL, NULL);//更新任务栏上的图标             }         }     }     for (i=0;i<NumOfFont;i++) {         fonts[i].dim = GetConsoleFontSize(hConsole, fonts[i].index); //      if (argc==1) printf("%2d x %2d %d %d\n",fonts[i].dim.X,fonts[i].dim.Y,i,fonts[i].index);         if (argc==1) printf("%2d x %2d\n",fonts[i].dim.X,fonts[i].dim.Y);         if (fonts[i].dim.X == X && fonts[i].dim.Y == Y) {             SetConsoleFont(hConsole, fonts[i].index);             break;         }     }     delete[] fonts;     return 0; } //BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);//设置前景背景颜色  //SetCurrentConsoleFontEx function // //Sets extended information about the current console font. // //BOOL WINAPI SetCurrentConsoleFontEx( //  _In_ HANDLE               hConsoleOutput, //  _In_ BOOL                 bMaximumWindow, //  _In_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx //); // //Parameters //hConsoleOutput [in] //    A handle to the console screen buffer. The handle must have the GENERIC_WRITE access right. For more information, see Console Buffer Security and Access Rights. //bMaximumWindow [in] //    If this parameter is TRUE, font information is set for the maximum window size. If this parameter is FALSE, font information is set for the current window size. //lpConsoleCurrentFontEx [in] //    A pointer to a CONSOLE_FONT_INFOEX structure that contains the font information. //Return value //    If the function succeeds, the return value is nonzero. //    If the function fails, the return value is zero. To get extended error information, call GetLastError. //Remarks //    To compile an application that uses this function, define _WIN32_WINNT as 0x0500 or later. For more information, see Using the Windows Headers. //Requirements //    Minimum supported client //    Windows Vista [desktop apps only] //    Minimum supported server //    Windows Server 2008 [desktop apps only] //Header //    Wincon.h (include Windows.h) //Library //    Kernel32.lib //DLL //    Kernel32.dll //See also //    Console Functions //    CONSOLE_FONT_INFOEX  //CONSOLE_FONT_INFOEX structure // //Contains extended information for a console font. // //typedef struct _CONSOLE_FONT_INFOEX { //  ULONG cbSize; //  DWORD nFont; //  COORD dwFontSize; //  UINT  FontFamily; //  UINT  FontWeight; //  WCHAR FaceName[LF_FACESIZE]; //} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX; // //Members //cbSize //    The size of this structure, in bytes. //nFont //    The index of the font in the system's console font table. //dwFontSize //    A COORD structure that contains the width and height of each character in the font, in logical units. The X member contains the width, while the Y member contains the height. //FontFamily //    The font pitch and family. For information about the possible values for this member, see the description of the tmPitchAndFamily member of the TEXTMETRIC structure. //FontWeight //    The font weight. The weight can range from 100 to 1000, in multiples of 100. For example, the normal weight is 400, while 700 is bold. //FaceName //    The name of the typeface (such as Courier or Arial). //Remarks //    To obtain the size of the font, pass the font index to the GetConsoleFontSize function. //Requirements //    Minimum supported client //    Windows Vista [desktop apps only] //    Minimum supported server //    Windows Server 2008 [desktop apps only] //Header //    Wincon.h (include Windows.h)  //GetCurrentConsoleFontEx function // //Retrieves extended information about the current console font. // //BOOL WINAPI GetCurrentConsoleFontEx( //  _In_  HANDLE               hConsoleOutput, //  _In_  BOOL                 bMaximumWindow, //  _Out_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx //);

user: user-3
content: HWND hwnd =::GetConsoleWindow(); SendMessage(hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0);最大化 ///SendMessage(hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0); // 最小化 ///SendMessage(hwnd, WM_SYSCOMMAND, SC_CLOSE, 0); // 关闭 ///SendMessage(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0); // 最大最小化化状态还原

user: user-6
content: 标准C 没这玩意。

user: user-3
content: 找到窗口句柄发送消息看看成不成