我在我的程序中调用一个VB的exe程序后,打开一个窗口(此窗口在exe程序中被实现)
现在我想调用这个窗口上的某一个Button的Click事件,怎么办?
有懂这方面的,请指点一二。接触VB不多,做好有例子程序。谢了先
现在我想调用这个窗口上的某一个Button的Click事件,怎么办?
有懂这方面的,请指点一二。接触VB不多,做好有例子程序。谢了先
解决方案 »
- 菜鸟急题!sendkeys向一个java程序发送中文出现乱码问题
- 如何实现让某段程序每天12点自动定时执行,谢谢!急急!
- 请问:用ado如何导出access97格式的数据库(在线等)
- 如何单击一个COMMADN控件时TOOLBAR中的一个Button.Enabled = False
- 关于VB+access创建超市管理系统的问题
- 怎样在局域网中检测sql服务器?
- 怎样使用Treeview 控件与数据库连接(数据来自于不同的表)
- 用程序发送ctrl+alt+del组合键
- 急急急急急急!!!!!各位大虾帮我一个小忙!参与者有分!事成之后有重赏!!!
- 图标文件(.ico)如何做?
- 0分帖赚分~~~
- 知道一个程序的控件的句柄,如何实现用sendmessage实现鼠标点击,谢谢!!
Option Explicit
'在窗体中增加一个 Command1 的按扭
Private Sub Command1_Click()
MsgBox "你现在单击的是按扭 Command1"
End Sub
代码好长,我就不写了.
给思路:找到 button 的句柄.
API
FindWindowEx
发送一个鼠标点击的信息.
API
SendMessage
我对VB了解不深,查了一下发现FindWindowEx可以得到窗口的句柄,可是得不到Button的句柄
请再帮想一下。
但是会出现一个Automation错误。
Err: -2147417843 - Automation Error : An Out Going Call Cannot Be Made Because The Application Is Dispatching An Input Asynchronous Call哪个高手知道什么原因?
Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDOWN = &H201
Public Const MK_LBUTTON = &H1 Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Sub LeftClick(hwnd As Long, x As Integer, y As Integer)
PostMessage hwnd, WM_LBUTTONDOWN, MK_LBUTTON, y * 2 ^ 16 + x '这是后台模拟点击的,这方面的资料偶找了好久啊..
PostMessage hwnd, WM_LBUTTONUP, MK_LBUTTON, y * 2 ^ 16 + x
End Sub