我想从 Windows 库获取文件夹路径(例如: Libraries\Documents )。我发现需要使用IShellLibrary interface但我找不到在 ShlObj
(Delphi 2009 x64 win7) 中声明。我想知道如何将此接口(interface)导入到我的代码中?
最佳答案
如果您无法使用包含此接口(interface)的现代 Delphi,则需要从 Windows 头文件(在本例中为 Shobjidl.h
)转换该接口(interface)。在 Delphi 中它是这样开始的:
IShellLibrary = interface(IUnknown)
['{11A66EFA-382E-451A-9234-1E0E12EF3085}']
....
end;
GUID 可以在头文件中找到。然后您需要添加功能。必须按照头文件中声明的顺序添加它们。这些函数都应该声明为 stdcall
。
我不想发布 XE3 源代码的整个接口(interface)声明,因为我认为这是侵犯版权的行为。
也许如果您足够努力地搜索,您可能会在网络上的某个地方找到这段代码。事实上,我刚刚找到了它:http://mustangpeakcommonlib.googlecode.com/svn-history/r12/trunk/Source/MPShellTypes.pas
关于delphi - delphi中如何导入接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13487056/