【发布时间】:2009-09-24 03:26:41
【问题描述】:
我创建了一个 FileSystemWatcher(作为 Windows 服务)来监视被拖放到目录中的插件(作为 ZIP 文件),因此我可以自动解压缩它们,设置一些注册表项,并将它们安装到我的应用程序中。这很好用。
我还有 FileSystemWatcher 来查看 ZIP 文件何时被删除,因此我可以删除安装、删除注册表项等。这也可以正常工作...除了一个问题。
当我执行删除操作时,该文件被完全删除,但看起来像 另一个 ZIP 文件已被添加,但它有一个非常奇怪的名称。另外,注册表中的内容和我刚刚删除的文件是一样的。这是一个例子:
Install
-------
File: Example.zip
Extracts to: C:\Plugins\Example\*.*
Registry Key: HKLM\Software\MySoftware\Plugins\Example\[keys]
Delete
------
File: Example.zip
Directory Deletes
Registry Deletes
Creation of Folder: C:\Plugins\ER\S-1-52359402-2823975235\202\*.* where the files are the same as Example.zip's files.
Registry Key: HKLM\Software\MySoftware\Plugins\ER\S-1-52359402-2823975235\202\[keys] where the keys are the same as Example.zip's.
最后两个步骤不应该发生。我真的很困惑这里发生了什么。这是病毒扫描程序吗?任何帮助将不胜感激。
更新: 根据 Jon Skeet 的回复,似乎是回收站导致了这个问题(我正在查看子目录)。有什么方法可以始终忽略这些目录(隐藏?回收站?别的什么?)。
【问题讨论】:
-
你是如何删除文件的?你把它移到回收站了吗?可能是此操作将文件(临时)移动到这样的文件夹。
-
顺便说一句,不要忘记定期轮询文件夹以防错过某些事件(有关详细信息,请参阅msdn.microsoft.com/en-us/library/…)。
-
@divo - 是的,它是回收站。我只是通过 Windows 资源管理器删除它。关于如何处理的任何建议?