- 注册时间
- 2006-6-19
- 最后登录
- 1970-1-1
|
发表于 2007-9-26 20:22:40
|
显示全部楼层
Windows自带的clipboard并不大,在NT系上最好是不要超过128KB,所以如果要把文件内容整个放进内存缓存的话,即使自定义一种格式并注册到clipboard上也不太好.标准clipboard一般只存放文字,图片,Office对象,文件名之类.下面假设不使用Windows自带的clipboard.
应对LZ说的情况,有好几种思路:
1. 写一个程序挂全局钩子,监听剪贴版消息,如果发现是对文件的剪贴板操作,则对其路径监视.
2. 写一个程序挂全局钩子,监听剪贴板消息,如果发现是对文件的写入剪贴板操作,并且文件大小小于一个阈值,
则实际打开文件,将文件内容和文件名保存在自定义的内存区域中;如果发现有读出剪贴板的操作,则将文件内容以原文件名写出,并在合适的时候清理先前申请的内存区域.
申请内存区域的方法,最简单的malloc或者new就OK.另外实现一个缓存也可以.
挂钩子的方法请另外查资料吧. |
|