コンテンツにスキップ

Win32コンソール

Xuất điển: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
Win32コンソールウィンドウを dụng いるWindows VistaThượng のWindows PowerShell

Win32コンソール(Anh ngữ:Win32 console) はWindows APIのシステムに thật trang されているテキストユーザーインターフェイスで,コンソールアプリケーションの động tác を đam う. Win32コンソールはスクリーンバッファと nhập lực バッファを bị え, ウィンドウまたはテキストモード họa diện をAlt+Enterキーで thiết り thế えることができる.

Win32コンソールは cơ bổn đích に họa tượng の biểu kỳ を tất yếu としないアプリケーションに sử われるが, biểu kỳ sắc を変 canh することはできる[1][2].コマンドラインインターフェイスツールを hàm む lệ として, Windowsコマンドプロンプト/コマンドプロセッサ (cmd.exe) あるいはWindows PowerShellなどのコマンドラインインタープリター,FAR ManagerMidnight Commanderといったファイルマネージャー,MS-DOS Editorなどのテキストエディターが tồn tại する.

ウィンドウモードと toàn họa diện モード[Biên tập]

Win32コンソールアプリケーションは2つのモードで động tác する.

1つはウィンドウの trung にテキストを biểu kỳ するもので, オペレーティングシステムのフォントレンダリングを sử dụng する. このモードでは, アプリケーションとユーザーとの trọng giới はウィンドウシステムによって chế ngự される. これはXtermといったX Window Systemアプリケーションに loại tự している.

Toàn họa diện モードWin32コンソールはハードウェアテキストモードで,ビデオカードのラスターフォントで miêu họa を hành う. これはテキストシステムコンソールに loại tự する. Toàn họa diện モードではいかなるグラフィックドライバーがインストールされていても, Windows tiêu chuẩn のVGAドライバーを sử dụng する[3].そのため, VGA hỗ hoán テキストモードしかサポートせず, tối đại biểu kỳ văn tự sổ は anh ngữ モードの tràng hợp で80 tự ×28 hành に chế hạn されている[4].この điểm は,Linuxなどの tha のオペレーティングシステムではドライバー thứ đệ でより cao giải tượng độ なコンソールを biểu kỳ できることとは đối chiếu đích である. このモードはWindows VistaWDDMがVGAモードをサポートしなくなったことにより廃 chỉ された[5].

Tường tế[Biên tập]

プログラムはWin32コンソールに cao thủy chuẩnQuan sổ(ReadConsole,WriteConsole) または đê thủy chuẩn quan sổ (ReadConsoleInput,WriteConsoleOutput) のどちらからでもアクセスできる. これら cao thủy chuẩn quan sổ はGDIより hạn định đích で, lệ えばプログラムからカラーパレットを変 canh することはできず[6],またこれらの quan sổ を sử ってコンソールで sử dụng されるフォントを変 canh することもできない.

Win32コンソールプログラムは, しばしばMS-DOSアプリケーションと hỗn đồng される. しかし, “Win32” という danh tiền の thông り, Windows NTネイティブなシステムの nhất bộ あるいは nhất hình thái であり, toàn く dị なったものである.

なお, 32ビット bản WindowsはNT仮 tưởng DOSマシン(NTVDM) を thông してWin32コンソールでMS-DOSプログラムを thật hành することができる.

またWin32という danh の thông り, cơ bổn đích にはNT hệ dĩ hàng のWindowsのものであり, 9x hệ では bộ phân đích に thủ り nhập れられていたが,Windows 3.1Dĩ tiền のものは biệt のシステムである.

MS-DOSアプリケーションのWindowsへの di thực を dung dịch にするため,Visual C++の sơ kỳ バージョンではウィンドウに cơ bổn đích なコンソール cơ năng を thật trang したQuickWinライブラリが đề cung された.Borland C++では đồng đẳng の cơ năng がEasyWinとして phó chúc した.

Thật trang[Biên tập]

Windows 9x[Biên tập]

Windows 9x hệでのサポートはWindows NT hệ と bỉ べて bần nhược である. コンソールウィンドウは仮 tưởng DOSマシンで động tác し, Win32コンソールアプリケーションに đối するキーボード nhập lực はDOS VMで động tác するconagent.exeによって hành われる. これはキーボードをフックするリアルモードDOSアプリケーションにも sử われるものである. conagent.exeはVcond(VxD) を hô び xuất す. そしてVcondはキーボード nhập lực をシステムVMに độ し, tối chung đích にはWin32コンソールアプリケーションに độ る. この thật trang はパフォーマンスの vấn đề に gia え, DOS VMで động いていることがWin32コンソールアプリケーションからは phán biệt できないという biệt の vấn đề があり, thời に hỗn loạn をもたらす.

Windows 9xでは, スクリーンバッファはVGAテキストバッファと đồng じ cấu tạo を trì ち, họa diện văn tự 単 vị で2バイト, văn tự コードと chúc tính コードの1バイトずつで cấu thành される. Văn tự コードは hiện tại のオペレーティングシステムに thiết định されているOEMコードページの văn tự セットになり, nhật bổn ngữ bản Windowsの tràng hợp は kí định ではCP932になる.

Windows NT hệ およびWindows CE[Biên tập]

Windows NT hệオペレーティングシステムではクライアント/サーバー ランタイム サブシステム(csrss.exe) がWin32コンソールの dịch cát を đam っていたが[7],Windows Vistaからは thúy nhược tính đối sách で chủ yếu な cơ năng はconhost.exeに di された.

WIndows NT hệ およびWindows CEでは, スクリーンバッファは họa diện văn tự 単 vị あたり4バイトで, văn tự コードに2バイト, chúc tính に2バイトで cấu thành されている[8].Văn tự は16ビットUnicode(UTF-16) にエンコードされる. Hậu phương hỗ hoán tính のため, コンソールAPIにはUnicodeバージョンとANSIマルチバイト văn tự セット (MBCS) バージョンの2 chủng loại が dụng ý されている.

Cước chú[Biên tập]

  1. ^SetConsoleTextAttribute function - Windows Console | Microsoft Docs
  2. ^Console Screen Buffers - Windows Console | Microsoft Docs
  3. ^VGA-Compatible Video Miniport Drivers (Windows 2000 Model) - Windows drivers”.Microsoft Docs.Microsoft (2017 niên 4 nguyệt 20 nhật ).2019 niên 11 nguyệt 17 nhậtDuyệt lãm.
  4. ^Julio Sanchez; Maria P. Canton (2003), “VGA Fundamentals, Part II: DOS Graphics”,The PC Graphics Handbook (for C++ Programmers)(Book), CRC Press, p. 125,ISBN0849316782
  5. ^Some 16-bit DOS-based Programs and the Command Prompt will not run in full-screen mode in Windows Vista and in Windows 7”.Windows Support.Microsoft (2018 niên 4 nguyệt 19 nhật ).2019 niên 11 nguyệt 17 nhậtDuyệt lãm.
  6. ^Windows Vista dĩ hàng ではSetConsoleScreenBufferInfoExQuan sổ でカラーパレットを chỉ định できる.SetConsoleScreenBufferInfoEx function - Windows Console | Microsoft Docsを tham chiếu.
  7. ^Microsoft Security Advisory 928604”.Microsoft Docs.Microsoft (2006 niên 11 nguyệt 16 nhật ).2019 niên 11 nguyệt 17 nhậtDuyệt lãm.Anh ngữ の văn thư のみ, CSRSSの thuyết minh が ký tái されている.
  8. ^CHAR_INFO structure - Windows Console”.Microsoft Docs.Microsoft (2018 niên 7 nguyệt 12 nhật ).2019 niên 11 nguyệt 17 nhậtDuyệt lãm.

Quan liên hạng mục[Biên tập]

Ngoại bộ リンク[Biên tập]