【发布时间】:2009-04-20 15:43:34
【问题描述】:
我编写了一个 DLL,它导出了一个使用 RegisterClassExW 和 CreateWindowExW 创建窗口的函数。每条消息都通过
GetMessageW(&msg, wnd_handle, 0, 0);
TranslateMessage(&msg);
DispatchMessageW(&msg);
还有一个加载DLL并调用函数的程序。
尽管使用 Unicode 窗口创建方法,WM_CHAR 消息中的 wParam 始终包含 ASCII 字符,即使我键入了一些非 ASCII 符号或使用 Alt+(code)。 wParam 不是 UTF-16,而是在 'A' 和 'z' 之间包含一些 ASCII 字符。
WndProc 是 DLL 中的静态函数。
当所有与窗口相关的代码都在一个程序中时,不会出现此问题。
有没有办法在 DLL 的窗口中始终包含 Unicode WM_CHAR 消息?
【问题讨论】:
标签: c++ windows winapi dll unicode