ReadConsoleOutputCharacter 函式
重要
本文件說明已不再是生態系統 藍圖一部分的控制台平臺功能。 我們不建議您在新產品中使用此內容,但我們將繼續支持無限期的未來現有使用量。 我們慣用的新式解決方案著重於 虛擬終端機序列 ,以在跨平臺案例中達到最大相容性。 您可以在傳統 主控台與虛擬終端機 檔中找到此設計決策的詳細資訊。
從主控台畫面緩衝區的連續儲存格複製一些字元,從指定的位置開始。
語法
BOOL WINAPI ReadConsoleOutputCharacter(
_In_ HANDLE hConsoleOutput,
_Out_ LPTSTR lpCharacter,
_In_ DWORD nLength,
_In_ COORD dwReadCoord,
_Out_ LPDWORD lpNumberOfCharsRead
);
參數
hConsoleOutput [in]
主控台螢幕緩衝區的控點。 句柄必須具有 GENERIC_READ 訪問許可權。 如需詳細資訊,請參閱主控台緩衝區安全性和存取權限。
lpCharacter [out]
緩衝區的指標,接收從控制台畫面緩衝區讀取的字元。
nLength [in]
要從中讀取的螢幕緩衝區字元儲存格數目。 lpCharacter 參數指向的緩衝區大小應該是 nLength * sizeof(TCHAR)
。
dwReadCoord [in]
控制台畫面緩衝區中第一個單元格的座標,要從中讀取,以字元為單位。 COORD 結構的 X 成員是數據行,而 Y 成員則是數據列。
lpNumberOfCharsRead [out]
接收實際讀取字元數之變數的指標。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
如果要從指定的畫面緩衝區數據列結尾以外的範圍讀取的字元數,則會從下一個數據列讀取字元。 如果要從控制台畫面緩衝區結尾讀取的字元數超出控制台畫面緩衝區的結尾,則會讀取控制台畫面緩衝區結尾的字元。
此函式會從主控台的目前字碼頁使用 Unicode 字元或 8 位元字元。 主控台的字碼頁一開始會預設為系統的 OEM 字碼頁。 若要變更控制台的字碼頁,請使用 SetConsoleCP 或 SetConsoleOutputCP 函式。 舊版取用者也可以使用 chcp 或 mode con cp select= 命令,但不建議用於新的開發。
提示
不建議使用此 API,而且沒有 虛擬終端機 對等專案。 此決策會刻意讓 Windows 平臺與其他作業系統保持一致,其中個別用戶端應用程式預期會記住自己的繪製狀態,以便進一步操作。 透過跨平臺公用程式和 SSH 之類的傳輸進行遠端處理的應用程式在使用這個 API 時可能無法如預期般運作。
需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
頁首 | ConsoleApi2.h (透過 WinCon.h,包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |
Unicode 和 ANSI 名稱 | ReadConsoleOutputCharacterW (Unicode) 和 ReadConsoleOutputCharacterA (ANSI) |