请教各位大虾,怎么实现向一个无标题程序弹出的页面传递信息?

chenyan0563 2003-10-19 02:48:59
别人的一个无标题程序在运行中会不定时弹出一个窗口(也是无标题的),上面有一个按钮,只有点了此按钮后,程序才会继续运行下去,现想编写一无人值守程序,它的任务就是检测上面的程序是否弹出窗口,如果发现有,就模拟点鼠标动作,将第一个程序的按钮点下,使程序继续运行,请问怎么实现,最好有代码。
...全文
40 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hottey 2003-11-22
  • 打赏
  • 举报
回复
1. FindWindowEx (
hWnd1:Long, //在其中查找子的父窗口,如设为0,表示使用桌面窗口(通常说的顶级窗口都认为是桌面的子窗口)
hWnd2:Long, //从这个窗口后开始查找。如设为0,表示对第一个子窗口开始搜索。
Lpsz1:String, //欲搜索的类名,0表示忽略。
Lpsz2:String //欲搜索的类名,0表示忽略。
);
////////////////////以查找QQ窗体为例说明如下///////////////////////////////代码:
//定义为全局变量。来记录每次调用FindWindowEx()后找到的窗体的句柄。
var hparent:HWND;


procedure TForm1.FormCreate(Sender: TObject);
begin
hparent:=0; //初始化,查找桌面所有的顶级窗口开始。
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var hbutton:HWND;
begin
repeat

//QQ对话框的类为#32770,这样循环调用FindWindowEx ()就能每次时钟生效时更新hparent的值。从已查找的句柄为hparent的窗体后查找符合要求的窗体。

hparent:=findwindowex(0,hparent,'#32770',nil);

//每次判断找到的窗口的句柄,看这个窗体中是否存在‘发送(&S)’按钮。存在即找到了正确的QQ对话框,也就得到了窗口的句柄.

hbutton:=findwindowEX(hparent,0,nil,'发送(&S)');
until hbutton<>0;
end;


//////要是还不是你想要的,请给我发短信.
chenyan0563 2003-10-26
  • 打赏
  • 举报
回复
还没解决呀,来位大侠救救急吧!
huojiehai 2003-10-19
  • 打赏
  • 举报
回复
用楼上的方法!
00100188 2003-10-19
  • 打赏
  • 举报
回复
你的ICQ多少?
pankun 2003-10-19
  • 打赏
  • 举报
回复
你如果只是针对这个特定窗口的话,你可以先用SPY++之类的软件找到其类名,再定时按类名,找到就关闭.

SendMessage(FindWindow('类名', nil), WM_CLOSE, 0, 0);
chenyan0563 2003-10-19
  • 打赏
  • 举报
回复
我的qq是37315605,加为好友时请说明,我比较急!问题解决后马上给分!

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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