vb 编写输入法
输入法SendMessage+EM_REPLACESEL只能替换TEXTBOX的内容,其他的就不行了,有没有别的API你见过输入法用SendKeys的方法吗?不要太笨!...
输入法
SendMessage+EM_REPLACESEL只能替换TEXTBOX的内容,其他的就不行了,有没有别的API
你见过输入法用SendKeys的方法吗?
不要太笨! 展开
SendMessage+EM_REPLACESEL只能替换TEXTBOX的内容,其他的就不行了,有没有别的API
你见过输入法用SendKeys的方法吗?
不要太笨! 展开
2个回答
展开全部
So Easy,很简单,哪需要用API
SendKeys ("要上屏的文字")
----------
Sendkeys不能把文字发送到屏幕上吗?不要太死板
----------
如果你非要用笨办法,我告诉你消息号,258,例子如下:
Private Declare Function PostMessageByNum& Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
Private Sub Command1_Click()
Dim ooo() As Byte
wjm = Environ("SystemRoot") + "\wb.txt"
Open wjm For Output As #1
Print #1, "要上屏的文本"
Close #1
Open wjm For Binary As #1
ReDim ooo(LOF(1))
Get #1, , ooo
Close #1
Dim q As Byte
For i = 0 To UBound(ooo) - 1
PostMessageByNum& Text1.hwnd, 258, Val(ooo(i)), 1
Next
End Sub
解释,258消息号非常不好用,首先要把文本转换为Byte数组,然后在投递到指定句柄上..以上我用的写出和写入文本来把文本转变为Byte数组,如果你有好的办法也可以用..
SendKeys ("要上屏的文字")
----------
Sendkeys不能把文字发送到屏幕上吗?不要太死板
----------
如果你非要用笨办法,我告诉你消息号,258,例子如下:
Private Declare Function PostMessageByNum& Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
Private Sub Command1_Click()
Dim ooo() As Byte
wjm = Environ("SystemRoot") + "\wb.txt"
Open wjm For Output As #1
Print #1, "要上屏的文本"
Close #1
Open wjm For Binary As #1
ReDim ooo(LOF(1))
Get #1, , ooo
Close #1
Dim q As Byte
For i = 0 To UBound(ooo) - 1
PostMessageByNum& Text1.hwnd, 258, Val(ooo(i)), 1
Next
End Sub
解释,258消息号非常不好用,首先要把文本转换为Byte数组,然后在投递到指定句柄上..以上我用的写出和写入文本来把文本转变为Byte数组,如果你有好的办法也可以用..
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |