次のように、コンソールアプリケーション(CMD)から入力バッファーを読み取ります。
var
pBuffer : array [0..2400] of Widechar;
dBuffer : array [0..2400] of WideChar;
CReadBuffer : Cardinal;
BytesRead : Cardinal;
begin
// ....
ReadFile(BuffHandle, pBuffer[0], CReadBuffer, BytesRead, nil);
pBuffer[BytesRead] := #0; // Finish/End the WideString
OemToCharW(pBuffer, dBuffer);
MessageBoxW (0, dBuffer, '', 0);
// ....
end;
何らかの理由で奇妙な文字が表示されます...CMDにはoem文字セットが必要です。以前はOEMtoCharAを使用しましたが、正常に機能しました。私は何を間違えますか?
手伝ってくれてありがとう。
編集:私はDelphi7を使用しています