监视剪贴板是Windows系统一段可连续的。可随存放信息的大小而变化的内存空间,用来临时存放交换信息。内置在windows并且使用系统的内部资源RAM,或虚拟内存来临时保存剪切和复制的信息,可以存放的信息种类是多种多样的。
公司主营业务:成都网站建设、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出秦州免费做网站回馈大家。
Windows应用是消息驱动的,同理当剪贴板内容发生变化时,Windows提供了剪贴板变化消息,因此要实时感知剪贴板内容的变化,关键是应用程序要能响应和处理Windows触发的剪贴板变化消息。
扩展资料:
系统中任何一个应用程序对监视剪贴板都有访问权,可以通过剪贴板消息和使用剪贴板API来读写剪贴板内容。因此使用剪贴板不仅可以在同一个应用程序内交互数据,也可以在不通应用程序之间交互数据。
尤其是在不通应用程序之间交互时,应用程序往往需要对剪贴板内容的变化做到实时感知,即应用程序要能监视剪贴板内容的变化。
只有再剪贴或复制另外的信息,或停电、或退出windows,或有意地清除时,监视剪贴板才可能更新或清除其内容,即剪贴或复制一次,就可以粘贴多次。
通过:
Clipboard.GetText
Clipboard.GetData
可以得到系统剪贴板的内容
如果剪贴板中的内容是文字,Clipboard.GetFormat(1)=True 。
获得文字直接用
Clipboard.GetText
获得图片可以用
Clipboard.GetData
设置文字直接用
Clipboard.SetText
设置图片可以用
Clipboard.SetData
清空
Clipboard.Clear
检测剪贴板中的内容
Clipboard.GetFormat(1)
返回True则文字
返回False则其他
Private Sub Form_Click()
MsgBox "剪贴板的内容为:" vbCrLf Clipboard.GetText
If Clipboard.GetText = "123" Then MsgBox "监控到剪贴板中的数据为'123',请求处理!"
End Sub
用clipboard方法虽然只能在程序内部使用,但写入的就是系统的剪切板啊,你在任何一个地方都可以用ctrl+V进行粘贴的。
我测试了,没问题的。不知是否是你的系统有异常。
我又按你的代码试了,没问题。依我看,问题还是出在你的系统上,你不妨用其他软件试试,比如WPS、WORD。
复制文件夹不用剪贴板,使用系统文件操作对象就好了
CreateObject("scripting.filesystemobject").copyfolder "c:\Program Files", "D:\Program Files"