winapi - 窗口标题被截断为只有一个字母

 

image

 

产生原因:

创建窗口时所使用的CreateWindowEx()版本与DefWindowProc()版本不匹配,运行时使用CreateWindowExW()但回调则使用DefWindowProcA()导致解码错误。

解决方法:

判断窗口使用的编码集选择正确的方法调用。

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
    if (IsWindowUnicode(hwnd)) {
        return DefWindowProcW(hwnd, uMsg, wParam, lParam);
    } else {
        return DefWindowProcA(hwnd, uMsg, wParam, lParam);
    }
}

  

image

 

posted on 2026-09-23 15:38  TN-mo  阅读(7)  评论(0)    收藏  举报