【问题标题】:How do I create a shell-extension / file container dll like winzip?如何创建像 winzip 这样的 shell 扩展/文件容器 dll?
【发布时间】:2012-05-16 14:36:51
【问题描述】:

好的,所以我需要制作一个类似于 winzip 或 winrar 的文件容器程序或命名空间扩展。

现在我不需要对文件进行压缩或加密或类似的特殊操作。

我需要的是创建一个 dll,它可以使用 .xyz 等扩展名(我知道如何将所有这些注册到注册表中,所以这不是问题),当点击时将打开“容器”在像 winzip 一样的窗口中。

我目前拥有的是一个程序,可以将所有文件添加到一个带有扩展名的大文件中(如 .xyz)。但是我不知道该怎么做,所以当我单击或打开这个新文件时,它们将在一个窗口中打开(文件系统浏览器?或类似的东西?就像 winzip 一样),这样我就可以查看所有文件在这个“容器”中。

谁能指出我正确的方向或如何去做,现在我很难过。

我还应该提到我在 c#.net 中工作

【问题讨论】:

  • 所以不是你想在自定义窗口中打开你的自定义文件,你想让普通的 windows 文件资源管理器了解你的文件是什么,这样你就可以像普通的 zip 文件一样导航它,对吗?
  • 我相信是的。我想要的是“打包”它们,然后像​​ zip 文件一样在窗口中打开它们。但是,它们中的文件被“包装”在我的自定义数据中。因此,在将文件拖放到此窗口中和从中取出时,它们将需要在此数据中进行包装/解包。就像当您将文件拖入和拖出 zip 文件夹时,它会被压缩/解压缩。
  • 您希望它们显示在您创建的自定义窗口中吗?还是希望它们显示在标准的资源管理器窗口中?
  • 一个标准的窗口就可以了:)
  • 在自定义窗口中显示它们很容易,只需编写一个独立的应用程序并将其注册为处理程序即可。在标准的资源管理器窗口中显示它们非常困难,因为这需要您编写一个 shell 命名空间扩展,而这不能在 C# 中完成。

标签: c# windows filesystems shell-extensions winzip


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 2012-03-20
  • 2014-03-06
  • 1970-01-01
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
相关资源
最近更新 更多