我想从Windows库中获取文件夹路径(例如:Libraries \ Documents)。我发现它需要使用IShellLibrary interface,但我找不到ShlObj
(Delphi 2009 x64 win7)中的声明。我想知道如何将此接口导入我的代码?
答案 0 :(得分:4)
如果您不能使用包含此界面的现代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