专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »博文摘选 » 学习日记 Date-09108 »正文

学习日记 Date-09108

来源: 发布时间:星期四, 2009年10月8日 浏览:0次 评论:0
转载自:http://blog.csdn.net/lilgtoit/archive/2009/10/08/4643869.aspx

 今天没学太多. 主要看了一下 外挂的开发的思路!

  在网上找资料的时候,偶然发现了一个论坛 yjxsoft.net 郁金香 外挂学习论坛 还一位发现宝贝了 MD 进去后才发现 需要RMB 才能看教程 真是让我心寒.

  不过,在里面我发现了点知识 嘿嘿..  也不枉我 潜了一下 论坛。

  今天学到了 几个MFC API 函数, 是关于获取一个进程窗口句柄,获取窗口X,Y坐标,以及模似鼠标点击等函数..

   我先把代码 写出来....

    mouse_event,GetWindowRect,SetCursorPos,FindWindow,SendMessage

   mouse_event 就是模似鼠标左右键点击/移动/滑轮 这些模似操作

   GetWindowRect 从英文上基本理解是 获取窗口矩形//该函数返回指定窗口的边框矩形的尺寸,该尺寸以相对于屏幕坐标左上角的屏幕坐标给出 其实也就是获取这个窗口的坐标了.

   SetCursorPos 此函数 就是把光标移动到指定的X,Y坐标处 也就是说 通过GetWindowRect获取到窗口的坐标后 通过SetCursorPos 函数 来设置鼠标移动的位置

 

   函数功能:该函数把光标移到屏幕的指定位置。如果新位置不在由 ClipCursor函数设置的屏幕矩形区域之内,则系统自动调整坐标,使得光标在矩形之内。(这是在百度找的解析)

   FindWindow 重要了,获取一个窗口句柄 一般通过标题 获取.

   FindWindow(NUll,"窗口标题");

   NULL,这个参数是 一个窗口类名,不晓得类名 就用NULL.

   

   FindWindow函数返回与指定字符串相匹配的窗口类名或窗口名的最顶层窗口的窗口句柄。这个函数不会查找子窗口。

   (这是在百度找的解析)

   SendMessage 主要是将消息分发给相应的窗口.

   看下百度解析

   函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。

   今天基本学了这些MFC API函数.忘了还有一个API函数Sleep这个函数 主要就是程序延迟 英文解析应该是睡眠的意思.

   sleep(100);当程序碰到此语句 将延迟100毫秒 然后继续执行.

   

   1.建立一个MFC exe , Dialog对话框程序.

   2.加一个按钮 两个文本框.

      为 两个文本框 设置成员变量 主要就是显示窗口的X,Y坐标点

      直接贴一下以上综合的代码

     

     void startGame()
{
// TODO: Add your control notification handler code here
 //获取游戏窗口句柄
 gameh=::FindWindow(NULL,"QQ游戏 - 连连看角色版");
 ::GetWindowRect(gameh,&r1);
 
 //保存当前鼠标指针
    //取得当前鼠标位置
 GetCursorPos(&p);
 //设置鼠标指针位置  取开局所在坐标:x=655;y=577 //lparam 0x0241028f
 SetCursorPos(655+r1.left,577+r1.top);
 //模拟鼠标的 单击(鼠标按下/鼠标抬起)
 //MOUSEEVENTF_LEFTDOWN Specifies that the left button is down.
    //MOUSEEVENTF_LEFTUP
 //鼠标在当前位置按下
 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
 mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
 //鼠标在当前位置抬起
 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
 //还原鼠标位置
 Sleep(200);//过一段时间 再执行后边的代码
    SetCursorPos(p.x,p.y);
}

  将此函数 调用在按钮函数里.其实就是一个简单的模拟鼠标点击 有点像按键精灵..呵呵.

  今天 还看了OD CE 这几个 软件的用法 哎 我现在突然发现知识好多 真不能着急.只有慢慢累积经验 保持每天进步1%.

  

  

标签:
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: