• 6362阅读
  • 2回复

[提问]SendMessage() 之后 [复制链接]

上一主题 下一主题
离线hicjiajia
 

只看楼主 倒序阅读 楼主  发表于: 2011-02-17
最近做了个小程序,索性直接称为连连看外挂吧,我需要用SendMessage() 来模拟点击任意一个连连看图标,这里假定为左上角第一个,如图:

用spy++ 计算出左上角第一个图片的相对坐标,这里为x=175,y=145   于是写出如下程序:
gameh = ::FindWindowA(NULL,p);   //p指针指向窗口标题
int x=175,y=145;
::SendMessageA(gameh,WM_LBUTTONDOWN,0,(y<<16)+x);
::SendMessageA(gameh,WM_LBUTTONUP,0,(y<<16)+x);

运行后,左上角第一个图标倒是可以成功点击,但是随后鼠标的指针会被移到屏幕一个随机位置,很不解,请高手指教...


离线wxj120bw

只看该作者 1楼 发表于: 2011-02-18
建议事先mouseMoveEvent事件,打印鼠标位置,得到鼠标时怎么移动的。
离线downstairs

只看该作者 2楼 发表于: 2011-05-02
难道连连看有防外挂的功能。haha
喜爱编程的猫头鹰
快速回复
限100 字节
 
上一个 下一个