![]() |
Exe aus Ressoruce extrahieren
Liste der Anhänge anzeigen (Anzahl: 1)
Hi.
Ich versuche verzweifelt eine Ressource (exe Datei) zu extrahieren. Ist ein simples Testprogramm das keine andere Funktion hat. Ich habe es angehängt, weil es einfach nicht klappen will. Die Ressource kann NIE gefunden werden, egal was ich angebe.
Delphi-Quellcode:
Die Ressource 1 kann nie gefunden werden.
Var
MeinFileStream: TFileStream; RS: TResourceStream; begin SaveDialog1.Execute; RS := TResourceStream.Create( Form1.Handle, // Handle deiner Anwendung/DLL '1', // Name der Ressource RT_RCDATA); // in diesem Fall ist es ein RCDATA resource type MeinFileStream:=TFileStream.Create(SaveDialog1.FileName, fmCreate); MeinFileStream.CopyFrom(RS, RS.Size); MeinFileStream.Free; Wäre nett wenn jemand mein Beispiel im Anhang korrigieren könnte. thx 4 help |
Re: Exe aus Ressoruce extrahieren
Ich kenn mich damit nicht so aus, aber vielleicht:
Application.Handle statt Form1.Handle ? |
Re: Exe aus Ressoruce extrahieren
'hInstance' statt Form.Handle könnte funktionieren,
Gruß, teebee |
Re: Exe aus Ressoruce extrahieren
Nein beides schon probiert :(
Scheint nicht am Quellcode zu liegen. Wäre nett wenn jemand sich den Anhang mal angucken könnte :) thx |
Re: Exe aus Ressoruce extrahieren
Hallo,
probier es mal damit.
Delphi-Quellcode:
Code ist getestet und funktioniert
...
var Path : String; aRes : TResourceStream; begin Path:=ExtractFilePath(Application.ExeName); Path:=IncludeTrailingBackSlash(Path); aRes:=TResourceStream.Create(hInstance,'MYEXE','EXEDATA'); Try aRes.SaveToFile(Path+'test.exe'); ShellExecute(Handle,'open',PChar(Path+'test.exe'),Nil,Nil,SW_SHOW); Finally aRes.Free; end; end; Hier die Resourcendatei
Code:
MYEXE EXEDATA "test.exe"
|
Re: Exe aus Ressoruce extrahieren
WUNDERBAR!
ICh hatte schon so gut wie aufgegeben :) Vielen Dank dir! |
Re: Exe aus Ressoruce extrahieren
Hallo,
ich habe es bis jetzt auch nicht zusammengebracht eine datei aus dem res der exe zu extrahieren. ich habe den Quellcode ausprobiert, bei mir kommen die fehler: [Warnung] Unit1.pas(33): Symbol 'IncludeTrailingBackslash' ist plattformspezifisch [Fehler] Unit1.pas(37): Undefinierter Bezeichner: 'ShellExecute' [Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden kann mir da wer weiter helfen? |
Re: Exe aus Ressoruce extrahieren
Zitat:
Zitat:
Delphi-Quellcode:
uses
ShellAPI; |
Re: Exe aus Ressoruce extrahieren
Zitat:
Edit: Es hindert aber Niemand einen daran, die Methode ![]() mfG mirage228 |
Re: Exe aus Ressoruce extrahieren
Zitat:
IncludeTrailingPathDelimiter verwenden sollte. |
Re: Exe aus Ressoruce extrahieren
Zitat:
|
Re: Exe aus Ressoruce extrahieren
Hallo,
jetzt funktionierts bei mir, ich habe eine Frage: Was ist wenn ich nicht eine exe Datei sondern eine bellibige Datei aus dem ressource extrahieren will, was muss ich da ändern? Sobald es keine exe mehr ist findet er die ressource nicht mehr...... könnt ihr mir weiterhelfen? ferby |
Re: Exe aus Ressoruce extrahieren
Hallo,
ich verstehs nicht, wenn ich die datei z.b: eine txt datei als EXEDATA definiere dann gehts aber wenn ich rcdata verwende dann nicht, warum???? ferby |
Re: Exe aus Ressoruce extrahieren
Ich kann dir nicht ganz folgen. Hast du diese Textdatei denn auch in der Ressourcendatei als "RC_DATA" deklariert? Oder steht dort immer noch "EXEDATA". Es muss schon beides zusammenpassen.
|
Re: Exe aus Ressoruce extrahieren
Hallo,
nein dort habe ich es auch geändert. Ich verstehe es auch nicht ganz..... aber es ist egal, es funktioniert mit exedata so wie ich will, wo ist eigentlich der unterschied ob ich exedata oder rc_data nehme?? denn bei mir geht mit exedata jede datei....... ?? ferby |
Re: Exe aus Ressoruce extrahieren
RC_DATA ist ein definierter Resourcen-Typ (siehe MS PSDK), EXEDATA ist ein custom resource type - du kannst an der Stelle jeden nicht vordefinierten Namen verwenden.
Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 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-2025 by Thomas Breitkreuz