在不把窗口设置成当前窗口的条件下,对窗口进行操作。
来源:互联网 发布:特丽魅彩 知乎 编辑:程序博客网 时间:2024/05/16 10:14
做外挂的第一步,就是模拟键盘鼠标的操作。模拟很简单,但要在不抢鼠,不与键盘冲突,不影响用户其他操作的条件下模拟对我来说就困难了。
以下问题都以一含有确定按钮和一文本框的程序为例:
解决思路:
1:不抢鼠,不与键盘冲突:
我用SendMessage(HWND hWnd, //要操作的句柄
UINT iMessage, //消息代码
WPARAM wParam, //字参数,内容有具体消息决定。
LPARAM lParam //长参数,内容有具体消息决定。 );
来模拟鼠标和键盘的操作。
2:不影响用户其他操作:
就是在非当前窗口环境下让窗口接受消息。
1:把所有消息直接发给窗口处理。消息代码为WM_COMMAND,字参数内容付值为控件的ID。
WM_COMMAND wNotifyCode = HIWORD(wParam);
wID = LOWORD(wParam);
hwndCtl = (HWND) lParam;
wNotifyCode
Value of the high-order word of wParam. Specifies the notification code if the message is from a control. If the message is from an accelerator, this parameter is 1. If the message is from a menu, this parameter is 0.
wID
Value of the low-order word of wParam. Specifies the identifier of the menu item, control, or accelerator.
hwndCtl
Handle to the control sending the message if the message is from a control. Otherwise, this parameter is NULL.
2:直接对要操作的对象发送消息,这种情况要激活他的父窗口,用SetActiveWindow()实现。但是SetActiveWindow()是个只对本进程内窗口可用的函数,要对其他窗口起作用就要配合AttachThreadInput()使用。
有点累,不太适合对屏幕写东西,呵呵。先到这吧,一会补充。
- 在不把窗口设置成当前窗口的条件下,对窗口进行操作。
- 模式窗口对父窗口的操作
- 对IE窗口的设置
- vim不进入窗口进行操作
- 对窗口的相关操作
- swing在子窗口点击确定按钮关闭当前窗口而不关闭父窗口
- 在Frame对窗口进行重绘
- QML在当前窗口打开一个新的窗口
- 设置父窗口的背景色,不影响子窗口
- 获取当前的窗口
- showModalDialog在原窗口刷新,不弹出新的窗口
- 判断某个窗口是否是活动窗口(当前正在使用、操作的窗口)
- PLSQL的表窗口开启(不小心把PLSQL的表窗口关了,在哪里打开)
- c++操作当前窗口句柄
- java多窗口关闭事件设置只关闭当前窗口而不关闭主线程
- HTML 获取当前标签在页面的位置,并且把其他的浮动窗口显示过来
- 如何在子窗口操作父窗口的FORM域
- Tomcat运行在当前窗口
- 应届毕业生少走弯路的十条忠告
- 全局Haar-Like特征图像识别的C++实现
- 发布Pdf .Net 组件
- 应届毕业生少走弯路的十条忠告
- javascript地震代码!~~~
- 在不把窗口设置成当前窗口的条件下,对窗口进行操作。
- Oracle无法通过同义词访问远端分区表的某个分区
- Albert Einstein—一个真正值得敬仰的伟人(什么超级什么星什么一班都靠边站兼滚蛋!)
- 如何设置类似ZDG的Blog风格
- JSP文件上传下载
- 什么是协议?
- 大专毕业了,心情很复杂!!!
- 动物识别——产生式系统
- [ASP.NET学习笔记之一]ASP.NET中文件操作