----赖格英-----

记忆不好了,记录工作中的点点滴滴....

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

很多情况下,我们需要在程序中实现这样的功能:在自编写的程序里控制另外一软件中的某个按钮被按下。比如,有一天你在聊QQ时觉得烦了,那么就想写程序来帮你按下“发送”按钮,省得你自己一次次动手了。那么,这个想法怎样才能实现呢?

其实做法很简单,它只用两条Windows消息就能实现了。(当然,前提是你必须知道那个按钮的handle。我想这个对一般程序员来说简直是小菜一碟)这两条消息分别是:WM_LBUTTONDOWN和WM_LBUTTONUP。下面我给出一个简单的实例说明用法:

 

procedure TForm1.Button1Click(Sender: TObject);

var

  btnHandle: HWND;  //要控制的那个按钮的句柄

begin

    btnHandle:=strtoint(Edit1.Text );  //为了简单起见就这么设了,你要先写程序得到它

    SendMessage(btnHandle,WM_LBUTTONDOWN,MK_LBUTTON, 0);

    SendMessage(btnHandle,WM_LBUTTONUP,0,0);

end;

 

整个过程其实就是模拟了一下鼠标左键被按下又松开(注意,光有鼠标左键被按下是不行的)。怎么样?够简单吧!现在就可以把这个功能加进你的程序里面,实现一些有趣的效果了!:)

posted on 2013-08-18 14:36  向北方  阅读(482)  评论(0编辑  收藏  举报