1

我正在开发一个许可证管理类型的应用程序,它将受密码保护的 zip 文件复制到应用程序根目录。用户单击“打开演示文稿”按钮并将压缩文件解压缩到根文件夹中,然后我使用 Office 互操作在 Powerpoint 中打开文件。此时令我惊讶的是,我能够删除当前在 Powerpoint 应用程序中打开的提取文件。我曾假设尝试删除该文件会失败,因为该文件仍在 Powerpoint 中打开。

为什么它允许我删除文件?文件是否以某种方式复制到临时文件夹,然后在 PowerPoint 中打开?

我是否可以依靠这种能力在 Powerpoint 中打开文件后立即删除该文件的应用程序?这将是最佳的,因为它有助于确保无法复制文件(我还使用 xml 来阻止“另存为”和“保存”出现在 int Powerpoint 中)。

4

2 回答 2

3

许多应用程序在将文件加载到内存后不会保持打开状态。可能这也是powerpoint的情况。此外,某些操作系统允许您删除打开的文件,除非它们被特别锁定。许多 Unix 系统都表现出这种行为。

至于您的目的,什么会阻止用户将 power point 文件保存到不同的位置?

此外,未来的 power point 可能会在文件读入内存后保持打开状态

于 2010-03-27T22:26:41.420 回答
0

即使此特定版本的 PowerPoint 在打开时删除此特定文件时不会失败,我也不会依赖该行为来处理未来(或过去)版本的 Powerpoint,也不会依赖于其他(更大?包含 OLE 链接?)文件。请记住,您正在使用的所有内容基本上都由“参考实现”记录。

坦率地说,您的应用程序听起来像是解决社会问题的烦人技术解决方案。

于 2010-08-25T15:20:14.330 回答