Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi resource update (https://www.delphipraxis.net/62019-resource-update.html)

Premutos 29. Jan 2006 19:21


resource update
 
hallo habe folgendes problem, wenn ich den mit dem programm "resource hacker" eine datei öffne dann auf action / add a new resource wähle dort ein icon aus nenne die res Icon und speichere es funktioniert das prima nur wie realisiere ich das in delphi, wenn das zu verändernde programm kein icon besitzt, also neu erstellt werden soll!
wie bzw. wo kann ich bei der UpdateResource funktion den namen also "icon" angeben!?

marabu 29. Jan 2006 19:47

Re: resource update
 
Der Name der Resource muss bei einem Delphi-Programm MAINICON sein, der Typ ist ICON.

Grüße vom marabu

retnyg 29. Jan 2006 19:47

Re: resource update
 
schon mal was von satzzeichen gehört ?
wenn das prog kein icon hat, kannst du auch keines "reinhacken"

Premutos 29. Jan 2006 20:23

Re: resource update
 
Zitat:

Zitat von marabu
Der Name der Resource muss bei einem Delphi-Programm MAINICON sein, der Typ ist ICON.

Grüße vom marabu

ja genau das mein ich, und wie genau kan ich das einbinden?
>> wenn ich mit dem og. programm die resourvcen auflisten lasse erecheint ist das icon leer, woran liegt das?

Code:
procedure TForm1.Button1Click(Sender: TObject);
var Ico: TIcon;
    Stream : TMemoryStream;
    hInst: THandle;
    ptr : Pointer;
begin
  Ico:=TIcon.Create;
  Ico.LoadFromFile('c:\test.ico');

  Stream := TMemoryStream.Create;
  Ico.SaveToStream(Stream);
  Ico.Free;
  getmem (ptr, Stream.size + 1);
  try
    Stream.Seek(soFromBeginning, 0);
    Stream.read(ptr^, Stream.size);
    hInst:=BeginUpdateResource(Pchar('C:\argh.exe'), False);
    if hInst > 0 then
    begin
      UpdateResource(hInst, RT_GROUP_ICON, 'MAINICON', 1031, ptr, Stream.size);
      EndUpdateResource(hInst, False);
      end;
  finally
    freemem (ptr, Stream.size + 1);
    stream.Free;
  end;

end;
Zitat:

schon mal was von satzzeichen gehört ?
wenn das prog kein icon hat, kannst du auch keines "reinhacken"
natürlich kann man das... das icon ist auch nur eine resource => {$R *.dfm}, glaubst du ich hab umsonst extra oben die genauen schritte hingeschrieben um es einzubinden mittels "reshacker"

marabu 29. Jan 2006 20:59

Re: resource update
 
Kennst du diesen thread? klick

marabu

Premutos 29. Jan 2006 21:29

Re: resource update
 
Zitat:

Zitat von marabu
Kennst du diesen thread? klick

marabu

nein, den kannte ich noch nicht - habe die demo aus einem anderen thread..
was ich bei dieser funktion aber nicht verstehe ist, wie ich sie genau aufrufe!?
müsste doch so heissen?
Code:
UpdateApplicationIconGroup('c:\eigenes.ico','c:\plop.exe',pchar('MAINICON'),1031);


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz