如何在Delphi中编写Windows Shell命名空间扩展?

如何在Delphi中编写Windows Shell命名空间扩展?,windows,delphi,winapi,windows-shell,shell-extensions,Windows,Delphi,Winapi,Windows Shell,Shell Extensions,首先,对不起,我的英语很差 我想使用名称空间扩展(NSE)向Windows资源管理器添加一个虚拟文件夹,并希望用户能够打开此虚拟文件夹以浏览某些路径(例如,c:\test) 如何使用Delphi实现这一点?谢谢。 开始的地方是MSDN文档:。当然,这是从C++的角度写的,但不难将它映射到Delphi。 用于此类任务的另一个优秀资源是代码项目。例如:迈克·邓恩。事实上,这只是关于shell扩展的优秀系列文章的一部分 目前,Delphi是一个糟糕的选择,因为它不生成64位可执行文件。这意味着您的sh

首先,对不起,我的英语很差

我想使用名称空间扩展(NSE)向Windows资源管理器添加一个虚拟文件夹,并希望用户能够打开此虚拟文件夹以浏览某些路径(例如,
c:\test

如何使用Delphi实现这一点?谢谢。



开始的地方是MSDN文档:。当然,这是从C++的角度写的,但不难将它映射到Delphi。

用于此类任务的另一个优秀资源是代码项目。例如:迈克·邓恩。事实上,这只是关于shell扩展的优秀系列文章的一部分

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


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

基本上,外壳扩展是一个COM对象,它实现了一组接口。需要实现哪些接口取决于扩展的类型(当然,任何扩展都会使用一些接口)。
你可以开始阅读(你需要一些C->Delphi翻译,但是当你开始处理这些事情时,你最好做好准备),然后参考当然是thx,我只想学习名称空间扩展,所以我不在乎这个~@dropme,在这种情况下,Delphi是一个很好的选择,因为VCL-COM代码包含了很多复杂性,允许您专注于真正的问题;但是如果你曾经不得不广泛地部署一个shell扩展,那么我的观点是+1,这是一个没有x64版本的Delphi编译器的严重限制的地方。我认为它确实回答了这个问题,因为它指出如果没有一个严重的限制,它是不可能完成的。@mj2008我在这里写了大量的答案。我是否需要检查所有历史答案,以使其保持最新?如果您对此有强烈的感觉,欢迎您自己进行更改。thx,我正在学习名称空间扩展,所以我关心如何使用,我不想使用第三方组件~我无法探索--404错误