想用自己的程序实现别的程序的按钮事件,如果目标是系统自带的“计算器”,我下面的这段代码是可以实现的,但是对于一些却实现不了。请各位帮我看一下,是不是需要改哪里或者有别的更好更通用全面点的代码。
测试了一下,好像只有vb写的程序才可以控制,那是个普通的窗体按钮,用工具可以获取到句柄的。所以应该是我的代码需要改什么函数
tWnd1 = FindWindow(vbNullString, "窗口句柄")
If tWnd1 <> 0 Then
tWnd2 = FindWindowEx(tWnd1, 0, vbNullString, "按钮句柄")
'程序上面可以运行,到这里后就在下面的判断没办法实现,也就是说句柄是获取到了,那个“按钮句柄”也有可能在获取不到,导致下面不能实现判断。但是没办法实现点击效果,同样的方法在系统的计算器却可实现,控制自己编译的别的vb程序中的按钮也可以实现。对vb编译的窗口句柄和按钮句柄返回的不为0,但是对于非vb(c++可以正常返回不为0)编译的只有窗口句柄返回不为0,按钮句柄返回就变为0了。
If tWnd2 <> 0 Then
SendMessage tWnd2, BM_CLICK, 0&, 0& '点击
End If
Else
tWnd2 = 0
End If
积分不多了,只有17了,抱歉!