最近VC程序中用如下代码获取目标窗口文本并放入对话框的RichEdit中
TCHAR buf[16*1024] = {0};
::SendMessage(g_hTargetWnd, WM_GETTEXT, _countof(buf), (LPARAM)buf);
GetDlgItem(IDC_TXTSEND)->SetWindowText(buf);对多数窗口,比如 记事本、EditPlus 的窗口,能够正常获得文本
但是对于PHP编辑器 PHPDesigner 8.1,我有时获得正常文本,有时获得一堆乱码。相同的内容,从 PHPDesigner拷贝到记事本,从记事本获取文本,是正常的一开始以为是我的程序哪里有问题,但后来用Spy++试验,发现移到 PHPDesigner 8.1的代码窗口,多次移开又移入,可以发现,Spy++获得的文本(“标题”)同样有时正常,有时乱码。可以确认,无论是正常时,还是乱码时,句柄是同一个, PHPDesigner 8.1的代码窗口未做任何编辑操作。从Spy++看,代码窗口是 TSynEdit类型,我就不清楚为什么会发生这种情况?是TSynEdit特有的,还是PHPDesigner特有的,或者其他原因。有谁能探究一把
TCHAR buf[16*1024] = {0};
::SendMessage(g_hTargetWnd, WM_GETTEXT, _countof(buf), (LPARAM)buf);
GetDlgItem(IDC_TXTSEND)->SetWindowText(buf);对多数窗口,比如 记事本、EditPlus 的窗口,能够正常获得文本
但是对于PHP编辑器 PHPDesigner 8.1,我有时获得正常文本,有时获得一堆乱码。相同的内容,从 PHPDesigner拷贝到记事本,从记事本获取文本,是正常的一开始以为是我的程序哪里有问题,但后来用Spy++试验,发现移到 PHPDesigner 8.1的代码窗口,多次移开又移入,可以发现,Spy++获得的文本(“标题”)同样有时正常,有时乱码。可以确认,无论是正常时,还是乱码时,句柄是同一个, PHPDesigner 8.1的代码窗口未做任何编辑操作。从Spy++看,代码窗口是 TSynEdit类型,我就不清楚为什么会发生这种情况?是TSynEdit特有的,还是PHPDesigner特有的,或者其他原因。有谁能探究一把
解决方案 »
- 【Delphi】有没有非线性标尺的Trackbar控件可用?
- 小BUG,高手请进-------------关于DBGrid导出WORD代码------------------(可收藏)
- 请问,DELPHI里怎么打印调试信息的?出错了往往不能定位到源代码上,只能显示CPU窗口,有什么办法?
- 开发过控制短信终端(siemens TC35)发送短信的进(或使用过SPCOMM的)
- 紧急求助:ADO连接错误提示"没有注册类别"错误
- 很菜的问题:我有多个form,如何使登陆的form在第一个显示!
- 如何使动态加入imagelist的不同大小的图像(bmp)以相同的尺寸显示
- 大富翁论坛是不是改了网址?为什么总是连不上?
- 如果在软件是使用flash,那么要在其它的机子上运行必须安装什么?
- 在delphi集成環境中,如何配置默認的工作路徑 . 比如開啟文檔,直接我自定義的目錄下..
- 各位大侠,请问delphi xe 不支持 CTRL+鼠标左键吗?
- 浙江大华sdk使用
TSynEdit是个delphi的第三方组件,基本可以确定是它的问题,它运行时后台会有很多动作不停在处理文本的高亮格式编码等,用消息获取它的文本不太靠谱,看看TSynEdit是否有提供接口导出它的文本吧。
撸过