当前位置: 代码迷 >> ASP.NET >> shell扩展有关问题
  详细解决方案

shell扩展有关问题

热度:8701   发布时间:2013-02-25 00:00:00.0
shell扩展问题
C# code
[ComImpor,InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("000214FB-0000-0000-C000-000000000046")]public interface IShellExecuteHook{[PreserveSig()] /* 允许返回值为COM HRESULT */int Execute(SHELLEXECUTEINFO sei);}

接口前面的[]是用来配置接口属性的?
guid是什么?值怎么来的啊 ?

------解决方案--------------------------------------------------------
GUID是全球唯一标识符,
这里用来标识特定接口。

一般来说不需要标记这个特性,类型库导入程序会自动生成该特性以标识该对象。


可将此特性应用于程序集、接口、类、枚举、结构或委托,不过 Tlbimp.exe(类型库导入程序) 在导入类型库时将为您应用此属性。

传递给特性的字符串必须符合 Guid 类型可接受的构造函数参数格式。 为避免与 Guid 类型冲突,请显式使用长名 GuidAttribute。 仅当类型必须有特定的 GUID 时才应使用显式的 GUID。 如果省略该特性,则会自动分配一个 GUID。

GuidAttribute 类
  相关解决方案