level 6
就是一个keydown接一个keyup的动作,怎么输出那么多字符出来,至少成千上万。
我原想输出一个回车。用SendMessage无效,所以改用PostMessage,但输出的却不是一次。
请大神解答,百度了半天都没得到答案 。
2014年04月30日 16点04分
1
level 6
Private Const WM_SETTEXT = &HC
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Private Sub Command1_Click()
Dim hWnd() As Long
找到窗口 = 搜索所有模糊窗口("新建", 2, hWnd())
If 找到窗口 Then
编辑区 = FindWinEx(hWnd(0), 0, "Edit", 0)
SendMessage 编辑区, WM_SETTEXT, 0, "sss" & Chr(0)
PostMessage 编辑区, WM_KEYDOWN, vbKeyReturn, 0
PostMessage 编辑区, WM_KEYUP, vbKeyReturn, 0
End If
End Sub
2014年04月30日 17点04分
3
不知道你那个搜索什么的中文函数是什么的……看楼下的代码,实测可行,供参考
2014年04月30日 17点04分
level 1
您好,您还记得这个问题怎么解决的吗?同遇到了这个问题,win10下记事本接收了一堆字符后直接无响应了
2018年11月15日 07点11分
7