获取其他程序中listbox的内容乱码,是被加密了吗?该怎么解决
获取其他程序中listbox的内容乱码,是被加密了吗? - C++ Builder / Windows SDK/API
这个程序原来可以用LB_GETTEXT获得内容,
后来升级新版本以后LB_GETTEXT获取的内容是乱码,
程序下载
获取的内容都是类似
8d?
`c?
衎?
燼?
館?
X^?
鳽?
癎?
这样的乱码
对应的十六进制
3864
6063
D062
A061
F05E
585E
F85A
B047
不知道有什么方法能还原出来原来的字符串。
大家帮帮忙,谢谢!
------解决方案--------------------
你得到的数据:3864 6063 D062 A061 F05E 585E F85A B047 既非gbk也不是unicode
可能程序升级后你得到的hListBox 是错的,跟踪一下程序看看
------解决方案--------------------
LZ解决了嘛?结果怎么样?
------解决方案--------------------
有没有用Microsoft VC6.0带的Spy++查看你这个窗口的内容,这样对比下,只是建议!
代码本身看不出问题,再说你的程序在老版本上运行良好!,你只能看看这个新版本的窗口里面的内容
到底和老版本有啥区别!我只是建议!
------解决方案--------------------
你用spy++ Lite 看看,先定位主窗口,再看子窗口(它把其它控件看成是子窗口),这样一层层找,可以找到你要的ListBox,再没有title 的情况下,可能会定位到其它ListBox去了,因为程序中可能会有unvisible的控件存在。
你这样试一下,给它贴上内容,看你要定位的窗口内容是否变化,以确定是你要找的窗口就是它:
Clipboard()->SetTextBuf(“呵呵,找到你了!”);
PostMessage( hListBox, WM_PASTE, 0, 0);
这个程序原来可以用LB_GETTEXT获得内容,
后来升级新版本以后LB_GETTEXT获取的内容是乱码,
- C/C++ code
SendMessage(hListBox, LB_GETTEXT, 0, (LPARAM)text);
程序下载
- C/C++ code
HWND hMain = FindWindow("drcom_2133", "Dr.COM 宽带认证客户端 (v3.71)(d14)"); HWND hListBox = FindWindowEx(hMain, 0, "ListBox", NULL);
获取的内容都是类似
8d?
`c?
衎?
燼?
館?
X^?
鳽?
癎?
这样的乱码
对应的十六进制
3864
6063
D062
A061
F05E
585E
F85A
B047
不知道有什么方法能还原出来原来的字符串。
大家帮帮忙,谢谢!
------解决方案--------------------
你得到的数据:3864 6063 D062 A061 F05E 585E F85A B047 既非gbk也不是unicode
可能程序升级后你得到的hListBox 是错的,跟踪一下程序看看
------解决方案--------------------
LZ解决了嘛?结果怎么样?
------解决方案--------------------
有没有用Microsoft VC6.0带的Spy++查看你这个窗口的内容,这样对比下,只是建议!
代码本身看不出问题,再说你的程序在老版本上运行良好!,你只能看看这个新版本的窗口里面的内容
到底和老版本有啥区别!我只是建议!
------解决方案--------------------
你用spy++ Lite 看看,先定位主窗口,再看子窗口(它把其它控件看成是子窗口),这样一层层找,可以找到你要的ListBox,再没有title 的情况下,可能会定位到其它ListBox去了,因为程序中可能会有unvisible的控件存在。
你这样试一下,给它贴上内容,看你要定位的窗口内容是否变化,以确定是你要找的窗口就是它:
Clipboard()->SetTextBuf(“呵呵,找到你了!”);
PostMessage( hListBox, WM_PASTE, 0, 0);