public Dictionary <string, string> GetAttributes() { if (!IsDotNetAssembly) { return(null); } var attributeDictionary = new Dictionary <string, string>(); // 获取 IReferenceIdentity 接口. Fusion.IReferenceIdentity referenceIdentity = Fusion.NativeMethods.GetAssemblyIdentityFromFile(ExeFilePath, ref Fusion.NativeMethods.ReferenceIdentityGuid) as Fusion.IReferenceIdentity; var enumAttributes = referenceIdentity.EnumAttributes(); Fusion.IDENTITY_ATTRIBUTE[] IDENTITY_ATTRIBUTEs = new Fusion.IDENTITY_ATTRIBUTE[1024]; enumAttributes.Next(1024, IDENTITY_ATTRIBUTEs); foreach (var IDENTITY_ATTRIBUTE in IDENTITY_ATTRIBUTEs) { if (!string.IsNullOrEmpty(IDENTITY_ATTRIBUTE.Name)) { attributeDictionary.Add(IDENTITY_ATTRIBUTE.Name, IDENTITY_ATTRIBUTE.Value); } } return(attributeDictionary); }
/// <summary> /// 获取.Net应用程序全名. /// </summary> public string GetFullDisplayName() { if (!IsDotNetAssembly) { return(ExeFilePath); } // 获取 IReferenceIdentity 接口. Fusion.IReferenceIdentity referenceIdentity = Fusion.NativeMethods.GetAssemblyIdentityFromFile(ExeFilePath, ref Fusion.NativeMethods.ReferenceIdentityGuid) as Fusion.IReferenceIdentity; Fusion.IIdentityAuthority IdentityAuthority = Fusion.NativeMethods.GetIdentityAuthority(); string fullName = IdentityAuthority.ReferenceToText(0, referenceIdentity); return(fullName); }