#include "stdafx.h"
#include "afx.h"
typedef BOOL (WINAPI *CHANGESTATECONSOLE)(HANDLE,DWORD,LPDWORD);
typedef BOOL (WINAPI *GETSTATECONSOLE)(LPDWORD);
int main(int argc, char* argv[])
{
DWORD state;
DWORD dwOldMode;
CHANGESTATECONSOLE SetConsoleDisplayMode;
GETSTATECONSOLE GetConsoleDisplayMode;
HMODULE hKernel32 = GetModuleHandle("kernel32");
SetConsoleDisplayMode = (CHANGESTATECONSOLE)
GetProcAddress(hKernel32,"SetConsoleDisplayMode");
GetConsoleDisplayMode = (GETSTATECONSOLE)
GetProcAddress(hKernel32,"GetConsoleDisplayMode");
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleDisplayMode(&state);
printf("state = %ld", state );
SetConsoleDisplayMode(hOut,1,&dwOldMode);
GetConsoleDisplayMode(&state);
printf("\nstate = %ld\n", state );
return 0;
}
Сам не пробовал, но ИМХО выделенную строчку нужно заменить таким образом, чтобы получить хендел потока досовского окна. Посмотрите еще
здесьАвтор: Burd
Дата: 03.08.04
. Этот код работает только под Windows 9x
.