今天用到了哦,整了好久。终于搞定了!
值得注意的是,在获取控件句柄时控件名要加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;
标签:delphi
发表评论