目的,我想用VB做一个小程序,能自动实现按电脑中自带 计算器 中的按键进行计算
先找计算器的句柄,然后又找到按钮的句柄,然后使用
然后计算出lp的值=y坐标*65536+x 坐标值
postmessage 按钮句柄,WM_LBUTTONDOWN,MK_LBUTTON,lp
sleep 500
postmessage 按钮句柄,WM_LBUTTONup,MK_LBUTTON,lp
再执行的时候出现了问题,我发现计算器的按钮是被按下了,但是没有弹起来,不知道是什么原因,因此没有完成一次单击操作....
而我又用VB做自己做了一个程序,上面一个按钮,然后我用刚才那段代码去按这个按钮,结果就成功了....
希望哪位大侠帮忙试一下,用postmessage 模拟单击一次 XP 自带的 计算器中的按钮,在这儿里我先谢过大家了. 如果实验正确了,我追加100分.
VB中使用postmessage无法模拟鼠标弹起
MOUSEEVENTF_LEFTUP 模拟鼠标左键抬起 MOUSEEVENTF_RIGHTDOWN 模拟鼠标右键按下 MOUSEEVENTF_RIGHTUP 模拟鼠标右键按下 MOUSEEVENTF_MIDDLEDOWN 模拟鼠标中键按下 MOUSEEVENTF_MIDDLEUP 模拟鼠标中键按下 dx ---integer,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动 dy --...
vb postmessage 模拟鼠标不能执行
Private Sub Timer1_Timer()Dim a As Long, b As Long a = GetForegroundWindow'这个获得的是桌面背景的句柄,而并非你指定的窗口句柄 b = FindWindowEx(a, 0, vbNullString, "确定")'你找的是桌面上的确定按钮,肯定找不到,然后你后面所有的操作就都失败了 SetForegroundWindow a PostMessage ...
VB 模拟按键,POSTMESSAGE为什么不会弹起
Private Const WM_KEYDOWN = &H100 Private Const WM_KEYUP = &H101 '如果你是模拟键盘按键最好指出特定的按键常量,如下面的 按回车键 PostMessage hwnd, WM_KEYDOWN, VK_RETURN, 0 PostMessage hwnd, WM_KEYUP, VK_RETURN, 0 '如果你是模拟类似鼠标的点击,那就用下面的代码 PostMessage h...
这段vb代码不能实现模拟鼠标点击。请大侠帮忙看看哪里的问题_百度知 ...
既然知道鼠标位置,用这个函数直接得到句柄:Private Declare Function WindowFromPoint Lib "user32" Alias "WindowFromPoint" (ByVal xPoint As Long, ByVal yPoint As Long) As Long 用:lngP = PostMessage(lngButton_1_Hwnd, WM_LBUTTONDOWN, &H0, &H0) '按下鼠标左键 lngP = PostMessage...
用vb 做鼠标模拟,必须用postmessage,不能用mouse event
用vb 做鼠标模拟,必须用postmessage,不能用mouse event 50 全屏模式下运行的传奇世界,我想用鼠标模拟点击一下坐标235,86,然后再点击一下534,102。全局快捷键就用p.vkCode=107各路大侠,拜托了,写出代码来,我把所有分都送上。... 全屏模式下运行的传奇世界,我想用鼠标模拟点击一下坐标235, 86,然后再点击一...
VB 用SendMessage或PostMessage如何实现鼠标移动?
系统调用直接移动鼠标不是通过 WM_MOUSEMOVE WM_MOUSEMOVE 是鼠标移动以后发出的 应该用 Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long Dim x as Long Dim y as Long x = 0 y = 0 SetCursorPos x, y ...
VB向已知窗口句柄的窗口postmessage失败了,为什么的??
PostMessage实际上最终是调用的win32k.sys里的NtUserPostMessage,一般的游戏不会让你轻易地模拟按键,都HOOK了NtUserPostMessage这个函数(Shadow SSDT HOOK),会对函数参数进行过滤,防止你模拟按键,除非你恢复它的钩子(HOOK),否则是不行的。另外,如果要恢复ShadowSSDT HOOK,用VB是行不通的(大多数...
VB postmessage 鼠标单击位置
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long '这个是设置鼠标的位置!Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) '延时 Const MOUSEEVENTF_LEFTDOWN = &H2 '模拟鼠标左键按下消息 Const MOUSEEVENTF_LE...
这段vb代码为什么不能实现模拟鼠标点击
要换算为窗口里面的坐标,使用全屏坐标点击的位置可能出界了。
VB中如何虚拟按下鼠标左键
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Dim anctlejiang As Long '这句写到通用里 Private Sub Command1_Click()PostMessage 65674, 100, 17, 0 '这个是按下CTLE键 anctlejiang = 1 Sleep 1000 '延迟1秒 PostMessage 65674, 101, 17, 0 '弹起CTLE键 a...