一个关于WM_IEM_CHAR 消息的有关问题
一个关于WM_IEM_CHAR 消息的问题
最近闲来无趣, 朋友啦我一起打传奇sf.
想写一个 @传送 坐标 捡取物品的插件.
问题:
获取了 传奇窗口句柄后:
HWND hwnd = ::FindWindow(NULL,"传奇");
char *s = "@传送 123 123";
for (int i=0;i<strlen(s);i++)
PostMessage(hwnd,WM_IME_CHAR,s[i],0);
这里出问题了, 中文显示 @?? 123 123
百度,google的答案 查了一天了, 也没查出个 所以然.
为什么用 WM_IME_CHAR ?
WM_CHAR 过去根本没有反应,
也不用说 获取子Edit控件, 完全找不到.
不知各位大牛, 有过类似的情况否? 拜谢了.
------解决方案--------------------
这个窗口有这个的处理吗?贴出来看看吧
------解决方案--------------------
传送,四个字节,获得高低位的char,应该是不同的
------解决方案--------------------
换成Unicode试试
wchar_t *s = L"@传送 123 123";
for(int i=0;i<wcslen(s);i++)
PostMessage(hwnd,WM_IME_CHAR,s[i],0);
最近闲来无趣, 朋友啦我一起打传奇sf.
想写一个 @传送 坐标 捡取物品的插件.
问题:
获取了 传奇窗口句柄后:
HWND hwnd = ::FindWindow(NULL,"传奇");
char *s = "@传送 123 123";
for (int i=0;i<strlen(s);i++)
PostMessage(hwnd,WM_IME_CHAR,s[i],0);
这里出问题了, 中文显示 @?? 123 123
百度,google的答案 查了一天了, 也没查出个 所以然.
为什么用 WM_IME_CHAR ?
WM_CHAR 过去根本没有反应,
也不用说 获取子Edit控件, 完全找不到.
不知各位大牛, 有过类似的情况否? 拜谢了.
------解决方案--------------------
这个窗口有这个的处理吗?贴出来看看吧
------解决方案--------------------
传送,四个字节,获得高低位的char,应该是不同的
------解决方案--------------------
换成Unicode试试
wchar_t *s = L"@传送 123 123";
for(int i=0;i<wcslen(s);i++)
PostMessage(hwnd,WM_IME_CHAR,s[i],0);