#4
by Math » 5年前
わたしのWindows10で最新Update状態のコンソール
http://www2.koyoen.birdview.co.jp/~abcx ... a-001-.PNG
左上のメニュー
http://www2.koyoen.birdview.co.jp/~abcx ... a-002-.PNG
プロパティ
http://www2.koyoen.birdview.co.jp/~abcx ... a-003-.PNG
コンソールは方眼紙のようなものでサイズが一定でないと揃わない
http://www2.koyoen.birdview.co.jp/~abcx ... b-001-.PNG
プロパティを制御するプログラム例
http://www2.koyoen.birdview.co.jp/~abcx ... b-002-.PNG
VS2017 CL でコンパイル 実行
http://www2.koyoen.birdview.co.jp/~abcx ... b-003-.PNG
大きいサイズ
http://www2.koyoen.birdview.co.jp/~abcx ... b-004-.PNG
コード:
#include <Windows.h>
static void PrintChars() {
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD num_written;
static const char* cr_lf = "\r\n";
for(char c=' '; c<'\x7f'; ++c) {
WriteFile(hStdout, &c, 1, &num_written, NULL);
if(c % 16 == 15) WriteFile(hStdout, cr_lf, 2, &num_written, NULL);
}
WriteFile(hStdout, cr_lf, 2, &num_written, NULL);
}
static void WaitEnter() {
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
char buffer;
DWORD num_read;
do {
num_read = 0;
ReadFile(hStdin, &buffer, 1, &num_read, NULL);
} while(num_read && buffer != '\n');
}
int main() {
PrintChars();
WaitEnter();
HANDLE hcsb = CreateFileA("CONOUT$", GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
CONSOLE_FONT_INFOEX cfi = {sizeof(cfi)};
// Populate cfi with the screen buffer's current font info
GetCurrentConsoleFontEx(hcsb, FALSE, &cfi);
// Modify the font size in cfi
cfi.dwFontSize.X *= 2;
cfi.dwFontSize.Y *= 2;
// Use cfi to set the screen buffer's new font
SetCurrentConsoleFontEx(hcsb, FALSE, &cfi);
WaitEnter();
CloseHandle(hcsb);
return 0;
}
わたしのWindows10で最新Update状態のコンソール
[url]http://www2.koyoen.birdview.co.jp/~abcxyz/19-01-11-aaa-001-.PNG[/url]
左上のメニュー
[url]http://www2.koyoen.birdview.co.jp/~abcxyz/19-01-11-aaa-002-.PNG[/url]
プロパティ
[url]http://www2.koyoen.birdview.co.jp/~abcxyz/19-01-11-aaa-003-.PNG[/url]
コンソールは方眼紙のようなものでサイズが一定でないと揃わない
[url]http://www2.koyoen.birdview.co.jp/~abcxyz/19-01-11-bbb-001-.PNG[/url]
プロパティを制御するプログラム例
[url]http://www2.koyoen.birdview.co.jp/~abcxyz/19-01-11-bbb-002-.PNG[/url]
VS2017 CL でコンパイル 実行
[url]http://www2.koyoen.birdview.co.jp/~abcxyz/19-01-11-bbb-003-.PNG[/url]
大きいサイズ
[url]http://www2.koyoen.birdview.co.jp/~abcxyz/19-01-11-bbb-004-.PNG[/url]
[code]
#include <Windows.h>
static void PrintChars() {
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD num_written;
static const char* cr_lf = "\r\n";
for(char c=' '; c<'\x7f'; ++c) {
WriteFile(hStdout, &c, 1, &num_written, NULL);
if(c % 16 == 15) WriteFile(hStdout, cr_lf, 2, &num_written, NULL);
}
WriteFile(hStdout, cr_lf, 2, &num_written, NULL);
}
static void WaitEnter() {
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
char buffer;
DWORD num_read;
do {
num_read = 0;
ReadFile(hStdin, &buffer, 1, &num_read, NULL);
} while(num_read && buffer != '\n');
}
int main() {
PrintChars();
WaitEnter();
HANDLE hcsb = CreateFileA("CONOUT$", GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
CONSOLE_FONT_INFOEX cfi = {sizeof(cfi)};
// Populate cfi with the screen buffer's current font info
GetCurrentConsoleFontEx(hcsb, FALSE, &cfi);
// Modify the font size in cfi
cfi.dwFontSize.X *= 2;
cfi.dwFontSize.Y *= 2;
// Use cfi to set the screen buffer's new font
SetCurrentConsoleFontEx(hcsb, FALSE, &cfi);
WaitEnter();
CloseHandle(hcsb);
return 0;
}
[/code]