Clipboard.Clear '首先必须清空剪切板
Clipboard.SetText textbox1.text '复制textbox1的text值到剪切板
加入到按钮代码段里就可以了
textbox1.text = Clipboard.GetText '取得剪切板的内容到文本框1
这里是复制的代码,具体如果你想实现自动复制,可以用类似按键精灵的方法来实现,需要使用WINDOWS 的 API 函数keybd_event
keybd_event
VB声明
Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
说明
这个函数模拟了键盘行动
参数表
参数 类型及说明
bVk Byte,欲模拟的虚拟键码
bScan Byte,键的OEM扫描码
dwFlags Long,零;或设为下述两个标志之一
KEYEVENTF_EXTENDEDKEY 指出是一个扩展键,而且在前面冠以0xE0代码
KEYEVENTF_KEYUP 模拟松开一个键
dwExtraInfo Long,通常不用的一个值。api函数GetMessageExtraInfo可取得这个值。允许使用的值取决于特定的驱动程序
首先模拟按下WIN键,在不松开WIN键的情况下模拟按下C,最后一起放开就可以了,最好小延迟一下。用Doevents处理延迟。
给一个实现:
Private Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
Private Sub Delay(time As Long)
Dim oldtime As Long
oldtime = GetTickCount()
If GetTickCount - oldtime < time Then
Doevents
End If
End Sub
Private Sub Copy()
Call keybd_event(17, 0, 0, 0)
Call Delay(100)
Call keybd_event(67, 0, 0, 0)
Call Delay(100)
Call keybd_event(67, 0, 2, 0)
Call Delay(100)
Call keybd_event(17, 0, 2, 0)
End Sub
-----------------------------------
补充,实现中提到的代码全复制到工程里,在合适的时候调用Copy方法就可以了啊
如果只是为了使用方便的话不建议使用VB实现此功能,因为有现成的,不知你的网页是在哪里打开的,是浏览器还是你自己的程序,如果是自己的程序需要用到“剪贴板”对象,如果是浏览器建议直接把复制按钮放到工具栏上
只需3步:
1)在网页页面按ctrl+a
2)按ctrl+c
3)点击按钮
Private Sub Command1_Click()
Text1.Text = Clipboard.GetText
End Sub
SendKeys "^C"
Clipboard.SetText RichTextBox1.SelText