大侠们好,我想实现这个模拟功能,不知道该如何做呢?一个程序a.exe,隐藏运行的,我想模拟鼠标点击它的指定位置。对我来说,此问题的难点是,它是隐藏的,却要点击它界面上的指定坐标。
这样能行吗?
1.获取它的句柄;
2.将要点击的指定屏幕坐标转化为它的窗口坐标
3.发送点击消息
小弟拙见,大侠莫见笑,请指教哈~
这样能行吗?
1.获取它的句柄;
2.将要点击的指定屏幕坐标转化为它的窗口坐标
3.发送点击消息
小弟拙见,大侠莫见笑,请指教哈~
z.y=FFFFFFF4
发送到的坐标高字节表示Y值,低字节表示X值,可这是负值,应该怎么转换呢?
PostMessage a, WM_LBUTTONUP, 0&, &HFFF401F7
发送了个点击消息给这窗口关闭的那个叉叉按钮,却没反应不能通过这样模拟关闭吗?
我不想通过mouse_event这样的模拟点击,想通过postmessage来实现模拟,可以吗?
哪位能给段能运行成功的代码,我再加一百分给他
大侠,快来啊。给我段用postmessage发送鼠标消息到指定坐标点的坐标的代码谢啦前提条件是,知道此点的屏幕坐标
首先我打开一个空白记事本,用抓坐标工具找到它右上角的叉叉按钮的坐标,为1210,165
然后
Private Type POINTAPI ' 声明数据类型
x As Long
y As Long
End Typesub main()
Dim z As POINTAPI ' 变量
Dim a As Long
Dim pp As Long
a = FindWindow(vbNullString, "无标题 - 记事本")
ScreenToClient a, z
pp = z.y * 65536 + z.x
PostMessage a, WM_LBUTTONDOWN, 0&, pp
PostMessage a, WM_LBUTTONUP, 0&, pp
end sub就是这样了,请问下,到底是哪儿不对呢?
二、不要使用WM_LBUTTONDOWN,而是WM_COMMAND,wParam参数表示鼠标位置。
这样吗?
试了下,不行
天。。
脑袋晕了
SendMessage Me.hwnd, WS_MAXIMIZE, 0&, ByVal 0&
甚至是程序自己都不能?
为什么上面那个对自己最大化都不行哎,消息这东西真麻烦
需要先明确的是,在Windows里面没有你所谓的“点击”消息,只有鼠标按下、鼠标松开、双击三种基本的鼠标消息。
所以你要模拟点击,可以连续发送一个鼠标按下和一个鼠标松开消息。
发送消息用SendMessage()函数
参数:
[Msg]
WM_LBUTTONDOWN 鼠标左键按下
WM_LBUTTONUP 鼠标左键松开
[wParam]
0即可
[lParam]
坐标,高16位y,低16位x