吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1943|回复: 35
收起左侧

[求助] C++中用SendMessage(WM_GETTEXT)获得文本乱码如何解决?

[复制链接]
jtwc 发表于 2021-9-29 13:43
各位老师,C++中用SendMessage(WM_GETTEXT)获得文本乱码如何解决?如图:

乱码图

乱码图

免费评分

参与人数 1吾爱币 +1 收起 理由
Kristin_ + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| jtwc 发表于 2021-9-29 13:45
int main()
{
        HWND hGameWnd1 = (HWND)197346;//0x
        TCHAR szBuf[2048];
        LONG lResult;

        lResult = SendMessage(hGameWnd1, WM_GETTEXT, sizeof(szBuf) / sizeof(szBuf[0]), (LPARAM)szBuf);
        printf("Copied %d 内容: %s\n", lResult, szBuf);
       
        getchar();
        return 0;
}
苏紫方璇 发表于 2021-9-29 14:46
用memset给szBuf清零,或者用返回的lResult给字符串末尾补0。
 楼主| jtwc 发表于 2021-9-29 14:49
苏紫方璇 发表于 2021-9-29 14:46
用memset给szBuf清零,或者用返回的lResult给字符串末尾补0。

老师,能详细讲一下具体操作吗?刚学,不太懂,谢谢你了

点评

tchar那句下边加memset(szBuf,0,sizeof(szBuf)) 或者在send下边加szBuf[lResult+1]=0  详情 回复 发表于 2021-9-29 14:54
苏紫方璇 发表于 2021-9-29 14:54
jtwc 发表于 2021-9-29 14:49
老师,能详细讲一下具体操作吗?刚学,不太懂,谢谢你了

tchar那句下边加memset(szBuf,0,sizeof(szBuf))
或者在send下边加szBuf[lResult+1]=0
 楼主| jtwc 发表于 2021-9-29 14:56
苏紫方璇 发表于 2021-9-29 14:46
用memset给szBuf清零,或者用返回的lResult给字符串末尾补0。

memset(szBuf, 0, sizeof(szBuf));这样吗?
 楼主| jtwc 发表于 2021-9-29 14:57
老师,显示不出来
2.png
 楼主| jtwc 发表于 2021-9-29 15:06
老师,send下边加szBuf[lResult+1]=0,显示
3.png
失去灯塔的孤帆 发表于 2021-9-29 15:11
烫烫烫是你的szBuf没有初始化。
你的lResult是0,没有返回的文本字符
 楼主| jtwc 发表于 2021-9-29 15:17
失去灯塔的孤帆 发表于 2021-9-29 15:11
烫烫烫是你的szBuf没有初始化。
你的lResult是0,没有返回的文本字符

老师,原窗口是有文本字符的呀?用啥办法能读取呢?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表