五笔打字通主页
在做发送字符代码之前,先把让窗体无焦点的代码输入好,具体见上一篇文章 www.wb86.com/post/39.html
输入好使窗口无焦点的代码后,在窗口画一个标签(画标签,是因为标签控件没有焦点),标签的点击事件代码是:
Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Clipboard.Clear '要先清空剪贴板
Clipboard.SetText "a" '添加字符到剪贴板里
keybd_event 162, 0, 0, 0 '模拟按下CTRL
keybd_event 86, 0, 0, 0 '模拟按下V键
keybd_event 86, 0, KEYEVENTF_KEYUP, 0 '模拟抬起V键k
keybd_event 162, 0, KEYEVENTF_KEYUP, 0 '模拟抬起CTRL键
End Sub
以上代码是通过模拟键盘操作,到剪贴板的字符发送到有焦点的其它窗体中。
具体说,把是通过按 ctrl + v键来复制粘贴字符到其它窗口中。
因为是模拟键盘操作,所在窗体模块还要先输入模拟键盘操作的相关API代码:
Rem 模拟按键声明
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Rem 模拟按钮常数
Private Const KEYEVENTF_KEYUP = &H2
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Const VK_CAPITAL As Long = &H14
Private Const VK_NUMLOCK As Long = &H90
Private Const VK_SHIFT = &H10
Private Const VK_CONTROL = &H11
Private Const VK_ALT = &H12
调用一个记事本或写字板或浏览器来,编译好EXE后,再运行上述程序,点击标签1后,你会发现:
第二行代码 Clipboard.SetText "a"
改成下面任何一句都是可以成功发送字符串到相应的输入框中。
Clipboard.SetText "abc"
Clipboard.SetText "ABCD"
Clipboard.SetText "美容美发"
Clipboard.SetText "我的网站是:wb86.com"
如中文输入法在调用,这段发送字符串的代码也是一样管用,你可以试试。
来源:济亨网
本文链接:http://wb86.com/post/40.html