ReadConsoleInputA 不會傳回正確的雙位元字元中 Windows 8 和 Windows 10

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3165318
徵狀
當您執行 Windows 8 或 Windows 10 中的ReadConsoleInputA函式時,函式會傳回正確的雙位元組字元 (DBCS) 失敗。使用ReadConsoleInputA函數來從主控台讀取之鍵盤輸入的應用程式可能會遇到未預期的行為,或者它們可能會損毀。呼叫 C 執行階段函式,例如_getch()的應用程式也會受到影響。
發生的原因
ReadConsoleInputA函式不前移一個 DBCS 字元的第二個字元代碼,在每個呼叫中讀取單一的 INPUT_RECORD 結構時。
狀況說明
Microsoft 已確認這是<套用> 一節所列出的 Microsoft 產品的問題。
其他可行方案
若要解決這個問題,請使用下列方法之一 ︰
  • 使用 ReadConsoleInputW函式或對應的 Unicode 版本的 C 執行階段功能例如 _getwch().
  • 當您呼叫時,請閱讀兩個 INPUT_RECORD 結構ReadConsoleInputA.

警告:本文為自動翻譯

內容

文章識別碼:3165318 - 最後檢閱時間:05/19/2016 19:58:00 - 修訂: 1.0

Windows 8, Windows 8.1, Windows 10

  • kbmt KB3165318 KbMtzh
意見反應