溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用WM_PASTE 和 WM_CHAR 消息時中文亂碼總結(jié)

發(fā)布時間:2020-06-19 05:59:39 來源:網(wǎng)絡 閱讀:1355 作者:waitmoon 欄目:編程語言

    當我們需要設(shè)置編輯框顯示文本的時候,如果其它方式無法實現(xiàn),可以試試WM_PASTE 和 WM_CHAR。

    但使用這兩種消息很容易出現(xiàn)中文亂碼的情況,那怎么解決呢?

    

    首先,要確定程序沒有寫錯!比如hwnd無效、焦點沒有在目標編輯框上等。

    然后,確定英文是可以正常使用的。


    在確定了上面2條之后,就基本可以確定亂碼是編碼問題了。

     

    WM_PASTE關(guān)鍵點在于粘貼板數(shù)據(jù)的設(shè)置:

    1,SetClipboardData  的數(shù)據(jù)格式應該設(shè)置為 CF_UNICODETEXT

    2,GlobalAlloc 最好設(shè)置為  GMEM_MOVEABLE, 并且cpy字符串時要使用unicode編碼字符串。


    WM_CHAR關(guān)鍵點:

    1,原始字符串unicode類型

    2,取出要發(fā)送的中文的時候直接取出完整漢字,不要按位。一個漢字只需要SendMessage一次!不要被抄來抄去的文章給忽悠了。



示例代碼:


    


    


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI