知道一个窗口的句柄,如何获得这个窗口里面的文字~100分

blackhammer 2004-10-21 06:02:31
看别人写了一个网易泡泡赌骰子的计算程序,自己也想写一个,父窗体和显示控件的句柄都能得到,就是内容取不出来

这样写的


GetWindowText(handle,buffer,255);
Memo1.Lines.Add(string(buffer));

请教大家
...全文
173 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
d0347 2004-10-22
  • 打赏
  • 举报
回复
SendMessage(hwd, WM_GETTEXT,....)
hottey 2004-10-21
  • 打赏
  • 举报
回复
具体来说我觉得你是想得到一个文本框的内容而不是一个窗体的:)
{--- 得到本文框内容 ---}
function GetText(hwd: HWND):String;
var
Ret: LongInt;
Text: PChar;
Buf: integer;
begin
result := '';
GetMem(Text,1024*100);
if (hwd <> 0) then
begin
try
Ret := SendMessage(hwd, WM_GETTEXTLENGTH, 0, 0)+1;
if Ret > 1 then
begin
Buf := LongInt(Text);
SendMessage(hwd, WM_GETTEXT, Min(Ret, 1024*100), Buf);
result := String(Text);
end;
finally
FreeMem(Text, 1024*100);
end;
end else
exit;
end;
hottey 2004-10-21
  • 打赏
  • 举报
回复
//得到窗口内容
function GetwinText(hwd: HWND):String;
var
S1:PChar;
L:integer;
begin
L:=GetWindowTextLength(hwd) + 1;
GetMem(S1,L);
GetWindowText(hwd,S1,L);
result := String(S1);
FreeMem(Name);
end;
ksaiy 2004-10-21
  • 打赏
  • 举报
回复
aiirii(ari-爱的眼睛)

恩.他都写给你了...
aiirii 2004-10-21
  • 打赏
  • 举报
回复
安装了 IE6 之后,GetWindowText 并不一定能 get 到正确的,一般要同一进程的才有权限得到
aiirii 2004-10-21
  • 打赏
  • 举报
回复
或者
var
S1: String;
begin
SetLength (S1, 100);
GetWindowText (Handle, PChar (S1), Length (S1));
S1 := String (PChar (S1));
相关推荐
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2004-10-21 06:02
社区公告
暂无公告