VB如何复制一个文件(注意,不是内容)到剪贴板,类似于桌面某文件上点右键,选复制达到效果,高分求解。

VB 剪贴板好象只能复制文本和图片,对于文件,文件夹一类的就没有办法了,网上找了好久了,一直没有合适的答案。
我最终要达到的目的是在richtextbox 中附加文件,用OBJ.add功能附加,会自动打开,而且速度慢,后经试验,发现用复制,然后在富文本中粘贴,比较快速而且方便,再深入下去,就遇到了VB无法将文件存入剪贴板的问题,因此请高手赐教,如能达到富文本中插入对象而不自动打开的方法,也可以告诉我,如果能用,分有的是,谢谢

百度“VB与Windows资源管理器互拷文件”这篇文章,里面就用到了API函数SetClipboardData ,你级别那么高,自己研究好了追问

对不起,我平时不太问问题,都不知道该怎么问问题,呵呵,还有,我用系统的复制功能复制的文件,有些文件图标无法显示,不知是不是因为象word这类的图标VB不兼容

追答

试试这个代码
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_PASTE = &H302
Private Sub Command1_Click()
SendMessage RichTextBox1.hwnd, WM_PASTE, 0, 0
End Sub

另外那篇文章用到了GetClipboardData,搜索一下这个词在VB里面如何用

追问

还是不行,算了,不用这个方法了,谢谢,我在做一个公司内部的邮件系统,与业务系统整合,这个功能主要想实现邮件附件的添加,既然这样不行,只有单独搞一个附件模块,与邮件关联起来。本来直接把富文本的内容存入数据库即可,现在只有分成两部份做了。
谢谢您的热心帮助。

追答

没能帮上,实在遗憾。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-02
修改add语句
Private Sub Command1_Click()
Dim o As OLEObject
Set o = RichTextBox1.OLEObjects.Add(, "SalesData ", , "对象")
o.DisplayType = rtfDisplayIcon
End Sub