请各位高手帮忙啊!GETWINDOWTEXT的问题

BLUECAT 2000-07-17 12:16:00
运行金山词霸时,我想取得金山词霸的翻译结果:写了以下代码:
myXWndClass是金山词霸的翻译窗口。
procedure TForm1.Button1Click(Sender: TObject);
var t1:THANDLE;
s:pchar;
y:integer;
begin
t1:=FindWindow('myXWndClass',nil);
y:=GetWindowTextLength(t1);
getwindowtext(t1,s,y);

end;
设了一个断点,发现S总为空,查了一下WINDOWS API,说是如果窗口没有标题条,
getwindowtext就不能取得文本。但是我通过SPY观察了这个窗口,发现SPY的
WINDOW CAPTION 就能显示结果,而且还可以随翻译结果的变化而变化。不知道
是我程序有错,还是方法不对?请高手指点一二!多谢谢谢谢了!
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyzx2000 2000-07-17
  • 打赏
  • 举报
回复
你可能应该使用SendMessage(WM_GETTEXT,...);具体调用情况请参见MSDN。
Wingsun 2000-07-17
  • 打赏
  • 举报
回复
应该是对的,我在BCB中实现如下:
HANDLE h;
int len;
h=FindWindow("myXWndClass",NULL);
len=GetWindowTextLength(h);
char * s;
s=(char*)malloc(len+1);
GetWindowText(h,s,len);
Label2->Caption=s;
free(s);
可能是你的s没有分配空间的缘故。
BLUECAT 2000-07-17
  • 打赏
  • 举报
回复
用SendMessage(WM_GETTEXT,....)也不行呀?
实际上,GETWINDOWTEXT也是通过发消息来的,
没人回答?高手哪去了,分不够,可以再加分!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧