我需要IShellItem的GUID。我实际上是在pinvoke上找到它的,但想从MSDN官方页面进行确认。不幸的是,the IShellItem page似乎没有包含该信息。那么,如何获得此(和其他GUID)?

(并且我必须显式声明它,还是可以导入它?)

最佳答案

GUID很少在MSDN中记录,它们可能会发生变化。 COM中的一个硬要求。

您始终可以在Windows SDK中找到它们,这些文件是Microsoft用来构建自己的代码的.h文件或IDL文件。 MSDN文章告诉您在哪里看,请注意它在文章底部如何提及Shobjidl.h。在哪里可以找到:

   MIDL_INTERFACE("43826d1e-e718-42ee-bc55-a1e261c37bfe")
   IShellItem : public IUnknown
   {
       // etc..
   }


首先,此文件是从Shobjidl.idl(该文件的可读性更高)自动生成的,并且也包含在SDK中。顺便说一句,情况并非总是如此。

10-06 07:35