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

时间:2010-12-13 07:05:08

标签: windows delphi winapi windows-shell shell-extensions

首先,抱歉我的英语不好......

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

如何使用Delphi执行此操作?感谢。

3 个答案:

答案 0 :(得分:7)

开始的地方是MSDN文档:Introduction to the Shell Namespace。当然,这是从C ++的角度编写的,但要将它映射到Delphi并不太难。

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

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

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

答案 1 :(得分:3)

基本上,shell扩展是一个实现一组接口的COM对象。需要实现哪些接口取决于扩展的类型(当然,任何扩展都使用了一些接口)。 你可以开始阅读here(你需要一些C - > Delphi翻译,但是当你开始研究这些问题时,你会更好地准备它),然后引用当然是MSDN

答案 2 :(得分:2)