delphi SendMessage处理弹出窗体

地狱圣者 2014-06-07 04:40:20
首先两个函数的说明如下:
SendMessage该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。
而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。


请问,调用SendMessage后弹出另外一个窗体,如何再接着处理这个弹出的窗体。最好有代码示例,谢谢!
代码:
Form1单元:
procedure TForm1.btn1Click(Sender: TObject);
var
btnComp:TComponent;
begin
btnComp:=FindComponent('btn2');
if btnComp<> nil then
//SendMessage(TButton(btnComp).Handle,WM_KEYDOWN,MK_LBUTTON,0);
//SendMessage(TButton(btnComp).Handle,WM_KEYUP,MK_LBUTTON,0);

{第一步:自动点击btn2,弹出form2}
TButton(btnComp).Perform(WM_LBUTTONDOWN, 0, 0);
TButton(btnComp).Perform(WM_LBUTTONUP, 0, 0);
{第二步:在form2的文本框中输入信息,点击button}

end;

procedure TForm1.btn2Click(Sender: TObject);
begin
Form2:=TForm2.Create(self);
Form2.ShowModal;
edt1.text:=Form2.edtInfo.Text;
end

form2单元:
procedure TForm2.btn1Click(Sender: TObject);
begin
close;
end;

代码地址:
http://download.csdn.net/detail/dongjunwen/7462297

求解第二步如何做。。。。。。。。。。。。。。。谢谢!!
...全文
408 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
地狱圣者 2014-06-24
  • 打赏
  • 举报
回复
@tcmakebest 跨进程的 所以要用到sendMessage
地狱圣者 2014-06-24
  • 打赏
  • 举报
回复
窗体还没弹出来, 能先获取到句柄?
Andy-88 2014-06-18
  • 打赏
  • 举报
回复
获得弹出窗口的句柄再 Sendmessage 哈哈
tcmakebest 2014-06-13
  • 打赏
  • 举报
回复
楼主这是在做实验吗,干嘛跟sendmessage较劲,完全可以用别的正常一点办法来实现

5,388

社区成员

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

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