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)


又一次走弯路的过程,呵呵




[本日志由 独木舟 于 2008-10-09 04:05 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: Code
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.