2013-03-08 72 views
5

当我们复制任何多媒体文件或除文本(不确定)以外的任何文件(在clipboard中)时,是否存储文件或数据副本的地址,因为每当我们复制任何类似3 GB ,C盘大小不增加这意味着剪贴板存储地址不是副本。它是真的吗?如何在Windows剪贴板中存储数据

回答

7

如果复制的文件,你正在处理的文件指针像HDROP,内搭几乎不占空间。几乎没有时间来执行副本。如果您实际上需要等待3 GB才能复制到内存缓冲区中,那么您需要等待很长时间,才会有很多I/O,除非您拥有大量内存,否则系统需要利用页面文件空间,从而导致更多的I/O。
您还应该认识到,不像文本/ HTML/RTF /图形副本(数据实际位于剪贴板上),剪贴板不能用作安全网。使用文字,您可以复制,然后删除文字,然后粘贴以恢复文字。与文件不同。如果你复制一个文件,然后删除该文件,你将无法粘贴它。这看起来很明显,但重要的是要了解何时使用任何类型的剪贴板管理器可以让您返回并粘贴之前的剪辑。例如,您可以从3天前粘贴文件指针,但结果不会是3天前的该文件。它将成为今日磁盘上的任何文件指针引用。

+0

Chris可以从剪贴板中检索文件指针。 – 2013-03-11 11:58:18

+1

CF_HDROP包含一个文件指针。请参阅:http://msdn.microsoft.com/en-us/library/windows/desktop/bb776902(v=vs.85).aspx#CF_HDROP – 2013-03-11 12:13:28

+0

克里斯我试过你给的链接,但我无法理解如何检索文件指针。 – 2013-03-13 11:13:51

3
does it stores the address of file 

基本上是的,但不是真正解决,但所谓手柄的文件

这是对资源(通常是内存或打开文件或管道)的抽象引用值。

正确地说,在Windows中(通常在计算中),句柄是一种抽象,它隐藏了API用户的真实内存地址,允许系统透明地对程序重新组织物理内存。将句柄解析为指针会锁定内存,释放句柄会使指针失效。在这种情况下,将其视为指针表的索引。 您使用系统API调用的索引,并且系统可以随意更改表中的指针。

,如果你想知道剪贴板究竟如何工作的你可以看看这篇文章:http://blogs.msdn.com/b/ntdebugging/archive/2012/03/16/how-the-clipboard-works-part-1.aspx

+1

我们可以从剪贴板获取抽象引用值吗? – 2013-03-11 05:18:44

1

@Hot酷钉:

要复制的文件的路径/文件夹

出版社下移,选择该文件或文件夹,点击右键,你会看到一个额外的menu_option为“复制为路径”。选择它,并将路径复制到剪贴板