06
11
复制字符串到系统剪切板的另类方法
作者:独木舟 日期:2008-06-11
怎么才能在VB中把一段字符串复制到系统剪切板供其他程序使用?这个问题在网上找了很久都没找到满意的结果,后来尝试用API SetClipboardData,可是总是提示参数不正确,百般无奈之际被我发现了一个现象——有时候Clipboard对象的SetText方法能成功做到复制到系统剪切板,经过分析尝试后发现了另一个方法——只要SetText前清空系统剪切板就行。代码如下:
OpenClipboard Text2.hwnd
EmptyClipboard
CloseClipboard
Clipboard.SetText (Text2.Text)
当然还要加上声明:
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
经过查证,原来使用Clipboard对象与其他程序共享数据是要先用Clear方法的(好像与上面方法原理相同,汗……)。也就是说,上面走弯路了,呵呵,不用用到API,简单代码如下:
Clipboard.Clear
Clipboard.SetText (Text2.Text)
又一次走弯路的过程,呵呵