delphi点击外部程序的按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi点击外部程序的按钮相关的知识,希望对你有一定的参考价值。

就是想写一个自动运行的DELPHI程序,功能很简单,就是运行一个外部程序,再单击那个程序面板上的按钮,当然如果能后台点击那时最好了,不行前台点击也行。
用EC,OD,找按钮的内存地址还是怎么做?希望大侠指教下,谢谢!
这个游戏老是满员要进很多次才可以,手动进线太累了。
用CE 或者OD查找按钮内存地址怎么做呢?

首先你需要获得你要点击的按钮的句柄,然后你可以通过你的Delphi程序给该按钮发送消息(sendmessage之类的API函数)。消息的格式你可以通过spy++来获得(spy++不但可以获得你需要的句柄,还可以得到某个事件发生时所产生的消息。)具体做法为:把spy++获得消息的靶型图标拖到你要发送消息的按钮上,这是你就会得到该按钮的所有句柄继承关系(包括按钮本身的句柄。),然后你按下你需要发送消息的按钮,这时在spy++的消息显示框里就得到了单击该按钮产生的所有消息。接下来你就可以讲这些消息通过你的程序发送到该按钮上。(具体产生的消息主要就是这两个:鼠标按下(mousedown),鼠标弹回(mouseup))。 参考技术A 用WindowsAPI函数来调用外部的应用程序
WinExec(PChar(ApplicationPath),SW_Show);//打开文件
参考技术B 没搞过!

Delphi 按Esc快捷键退出程序的简单方法

 第一种方法:

在窗体上放一个按钮:

1>、设置按钮的Cancel属性为True;

2>、在按钮的点击事件中写:

procedure TForm1.btn1Click(Sender: TObject);
begin
  Close;
end;

 

Button按钮的Cancel属性:
                该属性决定按钮是否为Cancel按钮。当设置为true时,为Cancel按钮,即当用户按Esc键时,将执行按钮的
OnClick事件处理程序。当窗体中有多个Cancel按钮时,则只调用Tab Order属性最小按钮的OnClick事件。

 

第二种方法:

1>.设置窗体的keypreview属性为:True;//可以接收键盘操作

2>、在窗体的键盘事件中写:

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #27 then
    application.terminate;     //关闭程序
 end;

以上是关于delphi点击外部程序的按钮的主要内容,如果未能解决你的问题,请参考以下文章

Qt中需要点击开始按钮循环执行process.start启动外部程序,循环执行外部程序的时候,窗口的结束按钮不能用

delphi程序关闭,进程依然存在

delphi执行一个外部程序,当外部程序结束后,delphi程序立即响应

delphi调用外部程序~~~~~~~~~~~~

Delphi 执行一个外部程序,当外部程序结束后言主程序立即响应

Delphi 按Esc快捷键退出程序的简单方法