public static GroupIconResource FromByteArray(byte[] GroupData, ModuleResourceLibary Module) { if (GroupData != null) { using (MemoryStream Input = new MemoryStream(GroupData)) { BinaryReader Reader = new BinaryReader(Input); Reader.ReadUInt16(); // Reserved Reader.ReadUInt16(); // Type ushort Count = Reader.ReadUInt16(); IconResource[] Icons = new IconResource[Count]; for (int Idx = 0; Idx < Count; Idx++) { Icons[Idx] = ReadIconHeader(Reader); int IconId = Reader.ReadUInt16(); Icons[Idx].Data = Module.ReadResource(IconId, ResourceType.Icon); } return(new GroupIconResource(Icons)); } } else { return(null); } }
public static GroupIconResource FromByteArray(byte[] GroupData, ModuleResourceLibary Module) { if (GroupData != null) { using (MemoryStream Input = new MemoryStream(GroupData)) { BinaryReader Reader = new BinaryReader(Input); Reader.ReadUInt16(); // Reserved Reader.ReadUInt16(); // Type ushort Count = Reader.ReadUInt16(); IconResource[] Icons = new IconResource[Count]; for (int Idx = 0; Idx < Count; Idx++) { Icons[Idx] = ReadIconHeader(Reader); int IconId = Reader.ReadUInt16(); Icons[Idx].Data = Module.ReadResource(IconId, ResourceType.Icon); } return new GroupIconResource(Icons); } } else { return null; } }
public static GroupIconResource FromExe(string FileName) { using (ModuleResourceLibary Module = new ModuleResourceLibary(FileName)) { byte[] GroupData = Module.ReadFirstResource(ResourceType.GroupIcon); return(FromByteArray(GroupData, Module)); } }
public static GroupIconResource FromExe(string FileName) { using(ModuleResourceLibary Module = new ModuleResourceLibary(FileName)) { byte[] GroupData = Module.ReadFirstResource(ResourceType.GroupIcon); return FromByteArray(GroupData, Module); } }