用PostMessage 发送字符,为什么持续发送。
vb吧
全部回复
仅看楼主
level 6
colaice2011 楼主
就是一个keydown接一个keyup的动作,怎么输出那么多字符出来,至少成千上万。
我原想输出一个回车。用SendMessage无效,所以改用PostMessage,但输出的却不是一次。
请大神解答,百度了半天都没得到答案 。
2014年04月30日 16点04分 1
level 13
上代码
2014年04月30日 16点04分 2
PostMessage 编辑区, WM_KEYDOWN, vbKeyReturn,0 PostMessage 编辑区, WM_KEYUP, vbKeyReturn, 0
2014年04月30日 17点04分
回复 colaice2011 :上下文呢?,这两句很正常
2014年04月30日 17点04分
回复 橡皮树的博客 :看下面
2014年04月30日 17点04分
2018年11月25日 06点11分
level 6
colaice2011 楼主
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 11
哈哈,刚学api
2014年04月30日 17点04分 4
是啊,很头疼,我以前用按键精灵,简单多了。这个怎么都搞不定。
2014年04月30日 17点04分
回复 colaice2011 :为什么不继续按键呢
2014年04月30日 17点04分
回复 夕阳西下Ysky :按键经常被屏蔽啊。而且免费小精灵的窗口大小受限。
2014年04月30日 17点04分
level 1
这个问题解决了吗,我也碰到了
2018年09月29日 08点09分 6
我上边有回复,win7就会这样。xp没事。
2018年09月29日 08点09分
@colaice2011 是这样的,以前xp是正常的,win7不行,你找到别的方法了吗
2018年09月29日 14点09分
@睿___智 没有
2018年09月29日 14点09分
level 1
您好,您还记得这个问题怎么解决的吗?同遇到了这个问题,win10下记事本接收了一堆字符后直接无响应了
2018年11月15日 07点11分 7
我没解决
2018年11月15日 09点11分
@colaice2011 [啊]哎,谢谢了。有老外说可能是64位系统和32位的区别导致的。。VB最高只支持32位的Long,但64位系统的wParam和lParam据说要64位,**啊
2018年11月15日 12点11分
@kay86682 我是在虚拟机用winme试了下,才知道是win7的原因。但不知道解决方案。
2018年11月15日 13点11分
我KAO!超过4年半的坟,还能“交流”得热火朝天? [狂汗]
2018年11月15日 13点11分
1