сабж, как ? UpdateResourceW(resFileHandle, RT_GROUP_ICON, MAKEINTRESOURCE(1), 0, (LPVOID)fileIcon.readAll().data(), fileIcon.size()) UpdateResourceW(resFileHandle, RT_ICON, MAKEINTRESOURCE(1), 0, (LPVOID)fileIcon.readAll().data(), fileIcon.size()) Или я вообще не туда смотрю ? результат в первом случае: во втором говорит что ресурсы битые...
Рабочий пример процедуры для смены иконки в приложении, на Delphi: Code: procedure SetAppIcon(FileName,IconFile,ResName:string); var I,FileGrpSize,IconGrpSize:Integer; Group:Pointer; Header:TNewHeader; FileGrp:PIconFileResGrp; IconGrp:PIconResDirGrp; Icon:TIcon; Stream:TMemoryStream; hUpdateRes:THandle; begin hUpdateRes:=BeginUpdateResource(PChar(FileName), False); Icon:=TIcon.Create; Icon.LoadFromFile(IconFile); Stream:=TMemoryStream.Create; try Icon.SaveToStream(Stream); finally Icon.Free; end; Stream.Position:=0; Stream.Read(Header, SizeOf(Header)); FileGrpSize := SizeOf(TIconFileResDirGrp) + (Header.idCount - 1) * SizeOf(TIconFileResDirEntry); IconGrpSize := SizeOf(TIconResDirGrp) + (Header.idCount - 1) * SizeOf(TIconResDirEntry); GetMem(FileGrp, FileGrpSize); GetMem(IconGrp, IconGrpSize); Stream.Position:=0; Stream.Read(FileGrp^, FileGrpSize); Group:=nil; try for I:=0 to FileGrp^.idHeader.idCount - 1 do begin with IconGrp^ do begin idHeader:=FileGrp^.idHeader; idEntries[i].DirHeader:=FileGrp^.idEntries[i].DirHeader; idEntries[i].wNameOrdinal:=I; end; with FileGrp^.idEntries[i] do begin Stream.Seek(lImageOffset, soFromBeginning); ReallocMem(Group, DirHeader.lBytesInRes); Stream.Read(Group^, DirHeader.lBytesInRes); UpdateResource(hUpdateRes,RT_ICON,PChar(MakeIntResource(I)), 0, Group, DirHeader.lBytesInRes); end; end; UpdateResource(hUpdateRes,RT_GROUP_ICON, PChar(ResName), 0, IconGrp, IconGrpSize); EndUpdateResource(hUpdateRes, False); finally Stream.Free; FreeMem(FileGrp); FreeMem(IconGrp); FreeMem(Group); end; end; Вкратце: причина неудачной смены иконки состоит в том, что на деле ресурс иконки в приложении представлен двояко - RT_ICON и RT_GROUP_ICON. Соответственно нужно работать с двумя ресурсами. Надеюсь, приведенный пример кода будет полезен и для вашего языка. Кроме этого, о иконках тут.