2

我想从 windows 库中获取文件夹路径(例如: Libraries\Documents )。我发现它需要使用IShellLibrary 接口ShlObj,但在(Delphi 2009 x64 win7)中找不到声明。我想知道如何将此接口导入我的代码? 在此处输入图像描述

4

1 回答 1

5

如果您不能使用包含此接口的现代 Delphi,则需要从 Windows 头文件中翻译该接口,在这种情况下为Shobjidl.h. 在 Delphi 中,它是这样开始的:

IShellLibrary = interface(IUnknown) 
  ['{11A66EFA-382E-451A-9234-1E0E12EF3085}']
  ....
end;

GUID 可以在头文件中找到。然后,您需要添加功能。必须按照在头文件中声明的顺序添加它们。这些函数都应该声明为stdcall.

我不想从 XE3 源发布整个接口声明,因为我认为这是侵犯版权。

也许如果您搜索得足够努力,您可能会在网络上的某个地方找到此代码。事实上,我刚刚找到它: http: //mustangpeakcommonlib.googlecode.com/svn-history/r12/trunk/Source/MPShellTypes.pas

于 2012-11-21T07:57:20.450 回答