如何向后台窗口发送鼠标移动和按键消息?(200分)

不好意思<br>我是新手<br>用delphi和vb时间都不长,现在以delphi为主,因为手头资料刚好是vb的,<br>就直接copy过来了,原理一样<br>msnd里面的内容我已经看到了,谢谢<br>不过我是查的WM_KEYDOWN<br>看来以后要多看msdn<br>另外有谁可以介绍一下新的msnd哪里有?我手头只有for VS6(98年版的)<br>上次的帖子中的keyevent应为keybd_event
 
我觉得更疑惑了,当一个程序最小化处于后台后,不管怎么摸拟鼠标移动与按键,都是针对屏莫上的相应像素点的动作啊<br>怎么可能对已最小化的处于后台的程序产生作用呢?<br><br>假如某程序需要在(x,y)处产生按键动作,而另一程序在同一位置也需要一按键动作,当第一个程序最小化处于后<br>后,第二个程序处于当前窗口,那我们模拟的按鼠键动作岂不是针对两个程序都有效?因为<br>一个是处于当前窗口,具有输入焦点,而另一个是由获取的句柄模拟获得按键消息的。
 
to liuer,可是我看到很多游戏外挂软件都可以控制后台游戏的鼠标的,所以我想知道怎么实现
 
俺现在就俺找你的要求写代码,写好啦之后发给你是不是给我200大分,现在没有分拉!
 
liuer:<br>&nbsp; 只要你找对了句柄发送消息就可以啦,不是象你所说的<br>&nbsp; &nbsp;“当一个程序最小化处于后台后,不管怎么摸拟鼠<br>&nbsp; &nbsp; 标移动与按键,都是针对屏莫上的相应像素点的动作啊”<br>并不是这样,他只是给系统发送了一个消息,让系统去处理的,<br>并不是让鼠标移动到按钮上然后模拟鼠标动作。<br>本来想写一下程序,但是研究了一下发现计算器的按钮句柄比较<br>难于取得(是难,还是可以取得,但是我没有继续)<br><br>发送鼠标消息是这样的:<br>&nbsp; // 模拟按键<br>&nbsp; SendMessage(hButtonHandle, WM_LBUTTONDOWN, 0, 0);<br>&nbsp; SendMessage(hButtonHandle, WM_LBUTTONUP, 0, 0);<br>模拟一个鼠标动作,即 按下 还有弹起来!<br>如果还有不明白的地方可以看我给你的代码,那个是对oicq操作的,<br>看看就明白啦!
 
这个问题好像越来越有意思了<br>首先我觉得模拟按键好像没有问题,可是模拟鼠标移动是否可以?我没有试过,有人试过吗?<br>另外,得到控件的handle应该可以通过编一个小程序将某一个窗口内的所有subitem都列出来<br>找到所需要的,然后再用这个东西的特征找到它的handle,比如是一个editbox就可以用是否<br>是这个类的控件来过滤等等。。。<br>说来容易,就是懒得动手试一试,谁进行下一步?
 
模拟鼠标移动?不用吧,不是有那个 move 什么的api吗,记得以前写那个 让<br>计算机 点广告的东西就是这么写的,至于比如有好多 edit 的话要其中的一个,<br>可以通过它的text,top,left 等属性 判断。我的代码里面都有的亚。
 
谢谢人在昆明同志
 
人在昆明同志:<br>能不能给小弟来一份阿<br>感激感激阿!<br>呵呵
 
人在昆明:能不能给俺也来一份<br>fxnszm@163.com<br>谢谢!!!![:)]
 
控制一个程序的鼠标和键盘那还不简单,还能把别人的程序完全控制在手掌之中,像拖动窗口<br>到某一个位置等。处理这些问题的关键是要能够准确找到窗口和子窗口的句柄(FindWinow,FindWindowEx),<br>然后用SendMessage发消息,这几个API都是最基本的,可以查看帮助,另外网上也有专门的中文资料<br>来介绍API的用法(WIN32API.CHM)。
 
人在昆明,谢谢啦
 
我关注的也是这个问题,后台程序不被激活状态下发送控制命令(按键)<br><br>请参阅如下内容并提点建议,谢谢<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=2284826<br>
 
人在昆明大哥<br>我也正需要这样一个程序,我也已经发了贴,您可以看一下<br>帮我解决一下,好吗?<br>分我大大的送,呵<br>感谢<br>qq:4716211<br>email:feagle@163.net
 
顶部