AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Exe aus Ressoruce extrahieren

Ein Thema von Aljoscha · begonnen am 25. Apr 2005 · letzter Beitrag vom 22. Mai 2005
Antwort Antwort
Seite 1 von 2  1 2      
Aljoscha

Registriert seit: 30. Dez 2004
97 Beiträge
 
#1

Exe aus Ressoruce extrahieren

  Alt 25. Apr 2005, 15:14
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:
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;
Die Ressource 1 kann nie gefunden werden.
Wäre nett wenn jemand mein Beispiel im Anhang korrigieren könnte.

thx 4 help
Angehängte Dateien
Dateityp: zip testres_149.zip (213,3 KB, 30x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Exe aus Ressoruce extrahieren

  Alt 25. Apr 2005, 15:18
Ich kenn mich damit nicht so aus, aber vielleicht:

Application.Handle

statt

Form1.Handle

?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#3

Re: Exe aus Ressoruce extrahieren

  Alt 25. Apr 2005, 15:20
'hInstance' statt Form.Handle könnte funktionieren,

Gruß, teebee
  Mit Zitat antworten Zitat
Aljoscha

Registriert seit: 30. Dez 2004
97 Beiträge
 
#4

Re: Exe aus Ressoruce extrahieren

  Alt 25. Apr 2005, 20:20
Nein beides schon probiert
Scheint nicht am Quellcode zu liegen.
Wäre nett wenn jemand sich den Anhang mal angucken könnte
thx
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Exe aus Ressoruce extrahieren

  Alt 25. Apr 2005, 20:27
Hallo,
probier es mal damit.
Delphi-Quellcode:
...
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;
Code ist getestet und funktioniert

Hier die Resourcendatei
Code:
MYEXE EXEDATA "test.exe"
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Aljoscha

Registriert seit: 30. Dez 2004
97 Beiträge
 
#6

Re: Exe aus Ressoruce extrahieren

  Alt 25. Apr 2005, 20:32
WUNDERBAR!
ICh hatte schon so gut wie aufgegeben
Vielen Dank dir!
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#7

Re: Exe aus Ressoruce extrahieren

  Alt 22. Mai 2005, 18:40
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?
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: Exe aus Ressoruce extrahieren

  Alt 22. Mai 2005, 18:43
Zitat von ferby:
[Warnung] Unit1.pas(33): Symbol 'IncludeTrailingBackslash' ist plattformspezifisch
Liegt nur an deinem Delphi. Kannst du ignorieren, wenn dein Programm eine Win32-Exe bleiben soll. Die Warnung ist so ein "Vorgeschmack" auf .NET.

Zitat:
[Fehler] Unit1.pas(37): Undefinierter Bezeichner: 'ShellExecute'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Delphi-Quellcode:
uses
  ShellAPI;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Exe aus Ressoruce extrahieren

  Alt 22. Mai 2005, 18:44
Zitat von MathiasSimmack:
Zitat von ferby:
[Warnung] Unit1.pas(33): Symbol 'IncludeTrailingBackslash' ist plattformspezifisch
Liegt nur an deinem Delphi. Kannst du ignorieren, wenn dein Programm eine Win32-Exe bleiben soll. Die Warnung ist so ein "Vorgeschmack" auf .NET.
In diesem Fall hat die Warnung nichts mit .NET zu tun, sondern mit der Linux Kompatibilität (Sprichwort: CLX) der VCL/RTL ab Delphi 6.
Edit: Es hindert aber Niemand einen daran, die Methode Delphi-Referenz durchsuchenIncludeTrailingPathDelimiter zu verwenden, die dann auch mit der CLX und Linux kompatibel ist.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Exe aus Ressoruce extrahieren

  Alt 22. Mai 2005, 18:46
Zitat von ferby:
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?
Ich verwende immer noch D5. Da ist IncludeTrailingBackslash noch Ok. Ab D6 steht in der OH, dass man
IncludeTrailingPathDelimiter verwenden sollte.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz