关于VB中用SendMessage模拟键盘点击问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 18:28:27
SendMessage Me.Text1.hwnd, WM_KEYDOWN, vbKeyA, vbNullString

执行上面的语句为什么文本框Text1没用反应呢?

用keybd_event吧,同样的作用。
参考:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Command1_Click()
Text1.SetFocus
keybd_event vbKeyA, 0, 0, 0
End Sub

vbKeyA是键码常数,对应字符“a”在MSDN里可查看全部。

Private Const WM_SETFOCUS = &H7
Private Const WM_LBUTTONDOWN = &H201

SendMessage Me.Text1.hwnd, WM_SETFOCUS , vbKeyA, vbNullString

SendMessage Me.Text1.hwnd, WM_LBUTTONDOWN, vbKeyA, vbNullString