WriteConsoleInput関数
重要
このドキュメントでは、エコシステム ロードマップの一部ではなくなったコンソール プラットフォームの機能について説明します。 このコンテンツを新しい製品で使用することはお勧めしませんが、今後も既存の使用をサポートし続けます。 推奨される最新のソリューションでは、クロスプラットフォーム シナリオでの互換性を最大限に高める仮想ターミナル シーケンスに重点を置いています。 この設計決定の詳細については、クラシック コンソールと仮想ターミナルのドキュメントを参照してください。
コンソール入力バッファーにデータを直接書き込みます。
構文
BOOL WINAPI WriteConsoleInput(
_In_ HANDLE hConsoleInput,
_In_ const INPUT_RECORD *lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsWritten
);
パラメーター
hConsoleInput [in]
コンソール入力バッファへのハンドル。 ハンドルには、GENERIC_WRITE アクセス権が必要です。 詳細については、「コンソール バッファーのセキュリティとアクセス権」を参照してください。
lpBuffer [in]
入力バッファーに書き込まれるデータを含むINPUT_RECORD構造体の配列へのポインター。
nLength [in]
書き込む入力レコードの数。
lpNumberOfEventsWritten [out]
実際に書き込まれた入力レコードの数を受け取る変数へのポインタ。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
WriteConsoleInputは 、バッファー内の保留中のイベントの背後にある入力レコードを入力バッファーに配置します。 入力バッファーは、必要に応じて、書き込まれた数のイベントを保持するために動的に拡張されます。
この関数では、Unicode 文字またはコンソールの現在のコード ページの 8 ビット文字が使用されます。 コンソールのコード ページには、最初はシステムの OEM コード ページが既定で設定されます。 コンソールのコード ページを変更するには、SetConsoleCP または SetConsoleOutputCP 関数を使用します。 従来のユーザーは、chcp または mode con cp select= コマンドを使用することもできますが、それは新規の開発ではお勧めできません。
ヒント
この API は推奨されておらず、同等の 仮想ターミナル はありません。 この決定は、Windows プラットフォームを他のオペレーティング システムと意図的に調整します。 この操作は、このバッファーの 間違った方法の動詞 と見なされます。 この API を使用している場合、クロスプラットフォーム ユーティリティや SSH などのトランスポートを介したアプリケーションのリモート処理は、想定どおりに動作しない可能性があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー | ConsoleApi2.h(WinCon.h 経由、Windows.h を含む) |
ライブラリ | Kernel32.lib |
[DLL] | Kernel32.dll |
Unicode 名と ANSI 名 | WriteConsoleInputW (Unicode) と WriteConsoleInputA (ANSI) |