已知一按钮ID,如何用sendmessage来模拟点击它?
下面怎么不对??
SendMessage Form1.hwnd, WM_COMMAND, GetWindowLong(Command2.hwnd, GWL_STYLE), 0&
下面怎么不对??
SendMessage Form1.hwnd, WM_COMMAND, GetWindowLong(Command2.hwnd, GWL_STYLE), 0&
解决方案 »
- 爱迪尔门锁 USB接口发卡器如何进行初始化?
- 想问一个关于句柄的问题,VB新手!
- 急!! 关于用VSprint8和VSReport8调用XML文件出现的错误 高分求助!
- 你们说我这样一直问这种问题会不会难以提高自己啊?~~
- 两个dll产生的问题
- 记录集某些列不在MSHFlexGrid中显示
- 调用access对象,并打开了...
- cmos密码和起机密码
- 又一个鉴别VB大虾的问题:大家都用过WINZIP,其中往压缩文件里添加文件的ADD窗口,你能做出来吗? 我只想知道如果你用VB来做这样一个对话窗体,你会如何考虑---给大虾的分我绝不吝惜,希望斑竹参与:)
- MCI控件中MCI.Command"step"和MCI.Command"back"的问题。
- 极其古怪的问题,百试不解,vba返回的文本框文本为什么带两个空格???
- 电视卡编程
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'模拟单击Command2
Private Sub Command1_Click()
SendMessage Command2.hwnd, BM_CLICK, 0, ByVal 0&'最后一个参数byref传递也可
End SubPrivate Sub Command2_Click()
MsgBox "test"
End Sub
中我已经回复过你了。你是一定要用WM_COMMAND模拟按钮点击吗?//SendMessage Form1.hwnd, WM_COMMAND, GetWindowLong(Command2.hwnd, GWL_STYLE), 0&
你的代码实在是有点莫名奇妙啊(Form1.hwnd应该是窗体的句柄吧)你是想要设置窗口风格吗?
是的话,应该使用setwindowlong,而不是sendmessage
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
http://vbclass.y365.com/jishu/yaokong.htm
发送BM_CLICK要知道按钮HWND吧?我想在知道按钮ID的情况下实现,可以吗?
先用findwindow获得按钮所在窗体窗口的句柄,再用findwindowex获得按钮的句柄
我将上面一位仁兄的代码改了一下(偷点懒)
Option ExplicitPrivate Const BM_CLICK = &HF5
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'模拟单击Command2
Private Sub Command1_Click()
Dim strCmdID As String
strCmdID = "Command2"
SendMessage Me.Controls(strCmdID).hwnd, BM_CLICK, 0, ByVal 0&
End SubPrivate Sub Command2_Click()
MsgBox "test"
End Sub