
C语言控制台编程怎么用system()函数控制DOS窗口缓冲区的大小
1个回答
2011-10-29
展开全部
#include <windows.h>
#include <stdio.h>
typedef BOOL (WINAPI *PROCGETCONSOLEDISPLAYMODE)(LPDWORD);
typedef BOOL (WINAPI *PROCSETCONSOLEDISPLAYMODE)(HANDLE,DWORD,LPDWORD);
PROCGETCONSOLEDISPLAYMODE GetConsoleDisplayMode;
PROCSETCONSOLEDISPLAYMODE SetConsoleDisplayMode;
int main()
{
DWORD dwNewMode=1;
DWORD dwOldMode=0;
HMODULE hKernel32 = GetModuleHandle(“kernel32“);
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
if (!hKernel32)
return 0;
GetConsoleDisplayMode = (PROCGETCONSOLEDISPLAYMODE)
GetProcAddress(hKernel32,“GetConsoleDisplayMode“);
if (!GetConsoleDisplayMode)
return 0;
SetConsoleDisplayMode = (PROCSETCONSOLEDISPLAYMODE)
GetProcAddress(hKernel32,“SetConsoleDisplayMode“);
if (!SetConsoleDisplayMode)
return 0;
SetConsoleDisplayMode(hOut,dwNewMode,&dwOldMode);
GetConsoleDisplayMode(&dwOldMode);
printf(“你好啊\n“);
return 0;
}
#include <stdio.h>
typedef BOOL (WINAPI *PROCGETCONSOLEDISPLAYMODE)(LPDWORD);
typedef BOOL (WINAPI *PROCSETCONSOLEDISPLAYMODE)(HANDLE,DWORD,LPDWORD);
PROCGETCONSOLEDISPLAYMODE GetConsoleDisplayMode;
PROCSETCONSOLEDISPLAYMODE SetConsoleDisplayMode;
int main()
{
DWORD dwNewMode=1;
DWORD dwOldMode=0;
HMODULE hKernel32 = GetModuleHandle(“kernel32“);
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
if (!hKernel32)
return 0;
GetConsoleDisplayMode = (PROCGETCONSOLEDISPLAYMODE)
GetProcAddress(hKernel32,“GetConsoleDisplayMode“);
if (!GetConsoleDisplayMode)
return 0;
SetConsoleDisplayMode = (PROCSETCONSOLEDISPLAYMODE)
GetProcAddress(hKernel32,“SetConsoleDisplayMode“);
if (!SetConsoleDisplayMode)
return 0;
SetConsoleDisplayMode(hOut,dwNewMode,&dwOldMode);
GetConsoleDisplayMode(&dwOldMode);
printf(“你好啊\n“);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询