当前位置: 首页 > 技术文档 > 正文

今天用到了哦,整了好久。终于搞定了! 值得注意的是,在获取控件句柄时控件名要加T。 而最后模拟点击前的Butt […]

今天用到了哦,整了好久。终于搞定了!
值得注意的是,在获取控件句柄时控件名要加T。
而最后模拟点击前的Button前不能加T。。。。
我也不知道为什么。。。。

procedure TForm1.Button3Click(Sender: TObject);
var
  H_a,H_b,H_c,H_d,H_e,H_f,H_g:HWND;
begin
  H_a:= FindWindow(nil,'HERO游戏控制器');    //获取窗口句柄
  H_b:= FindWindowEx(H_a,0,'TPageControl','');      //获取 TPageControl句柄
  H_c:= FindWindowEx(H_b,0,'TTabSheet','服务端控制');  //获取分页句柄
  H_d:= FindWindowEx(H_c,0,'TGroupBox','服务器控制');   //获取 TGroupBox
  H_e:= FindWindowEx(H_d,0,'TButton','启动游戏服务器(&S)'); //获取按钮句柄
  PostMessage(H_e,WM_LBUTTONDOWN,0,0); // 模拟鼠标左键按下
  PostMessage(H_e,WM_LBUTTONUP,0,0); // 模拟鼠标右键抬起
  sleep(1000);//延时
  H_f:= FindWindow(Nil,'确认信息'); //查找确认信息对话框
  H_g:= FindWindowEx(H_f,0,'Button','是(&Y)'); //获取按钮句柄
  PostMessage(H_g,WM_LBUTTONDOWN,0,0);
  PostMessage(H_g,WM_LBUTTONUP,0,0);
end;
本文固定链接: https://blog.meyisi.cn/jishu/134.html | 么意思博客
标签:

delphi 模拟点击外部程序按钮:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter