Ich habe mal versucht mit Hilfe der
Unit das MAINICON einer bestehenden Delphi Anwendung zu ändern. Dazu habe ich den Beispielcode von Bummi in leicht abgeänderter Form verwendet. Allerdings gelingt es mir nicht das MAINICON zu ändern. Weder mit einer ICO-Datei noch mit einem Icon aus einer anderen Anwendung. Wahrscheinlich sehe ich meinen Fehler nur nicht. Könnte mir jemand auf die Sprünge helfen?
Delphi-Quellcode:
uses
dxIconUtils;
procedure TForm2.Button1Click(Sender: TObject);
var
ir:TdxIconResource;
hModule: THandle;
begin
ir:=TdxIconResource.Create;
//ir.CreateIconHandles := true;
//ir.LoadFromFile('Testicon.ico');
hModule := LoadLibraryEx('TestPE.exe', 0, LOAD_LIBRARY_AS_DATAFILE);
if (hModule <> 0) and (hModule <> INVALID_HANDLE_VALUE) then
try
ir.LoadFromResource(hModule, 'MAINICON');
finally
FreeLibrary(hModule);
end;
ir.SaveToResource('AppWithNewIcon.exe', 'MAINICON');
ShowMessage(IntToStr(ir.ImageCount)); // Anzahl enthaltener Icons wird angezeigt bspw. 9, 10 etc.
ir.Free;
end;
BTW: Wie kann man bei der Verwendung von IconDLL's etc. die Nummer des zu verwendenen Icons angeben, da hier der Pfad zur Datei ja immer der selbe ist?