3

首先,对不起我的英语不好...

我想使用命名空间扩展 (NSE) 将虚拟文件夹添加到 Windows 资源管理器,并且我希望用户能够打开此虚拟文件夹以探索某些路径(例如,c:\test)。

如何使用 Delphi 做到这一点?谢谢。

4

3 回答 3

7

从 MSDN 文档开始:Shell Namespace 简介。当然,这是从 C++ 角度编写的,但将其映射到 Delphi 并不难。

此类任务的另一个优秀资源是 Code Project。例如:The Complete Idiot's Guide to Writing Namespace Extensions - Part I by Mike Dunn。事实上,这只是关于 shell 扩展的一系列优秀文章的一部分。

目前 Delphi 是一个糟糕的选择,因为它不生成 64 位可执行文件。这意味着您的 shell 扩展将无法在 64 位 Windows 上运行,这现在是一个严重的限制。

随着最近发布的 Delphi XE2,此限制已被删除。XE2 能够生成 64 位可执行文件,因此可用于生成 64 位 shell 扩展。

于 2010-12-13T07:25:39.003 回答
3

基本上,shell 扩展是一个实现一组接口的 COM 对象。需要实现哪些接口取决于扩展的类型(当然,任何扩展都会使用一些接口)。你可以从这里开始阅读(你需要一些 C -> Delphi 的翻译,但是当你开始处理这些事情时你最好做好准备),然后参考当然是MSDN

于 2010-12-13T08:18:59.917 回答