33,311
社区成员
发帖
与我相关
我的任务
分享
#include <windows.h>
#include <stdio.h>
typedef BOOL (WINAPI *PROCGETCONSOLEDISPLAYMODE)(LPDWORD);
typedef BOOL (WINAPI *PROCSETCONSOLEDISPLAYMODE)(HANDLE,DWORD,PCOORD);
PROCGETCONSOLEDISPLAYMODE GetConsoleDisplayMode;
PROCSETCONSOLEDISPLAYMODE SetConsoleDisplayMode;
int main()
{
COORD coord = {0};
DWORD dwOldMode= -1;
DWORD dwNewMode= -1;
HMODULE hKernel32 = GetModuleHandle("kernel32");
if (!hKernel32)
return 0;
GetConsoleDisplayMode = (PROCGETCONSOLEDISPLAYMODE)
GetProcAddress(hKernel32,"GetConsoleDisplayMode");
if (!GetConsoleDisplayMode)
return 0;
SetConsoleDisplayMode = (PROCSETCONSOLEDISPLAYMODE)
GetProcAddress(hKernel32,"SetConsoleDisplayMode");
if (!SetConsoleDisplayMode)
return 0;
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
dwNewMode = 1;
SetConsoleDisplayMode(hOut,dwNewMode,&coord);
GetConsoleDisplayMode(&dwOldMode); //为什么old会是3?
printf("OldMode:%d NewMode:%d\n",dwOldMode,dwNewMode);
Sleep(2000);
dwNewMode = 0;
SetConsoleDisplayMode(hOut,dwNewMode,&coord);
GetConsoleDisplayMode(&dwOldMode); //为什么old会是0?
printf("OldMode:%d NewMode:%d\n",dwOldMode,dwNewMode);
getchar() ;
return 0;
}