AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Exe in Resource einfügen und im Programm lokal laden
Thema durchsuchen
Ansicht
Themen-Optionen

Exe in Resource einfügen und im Programm lokal laden

Ein Thema von J Kadison · begonnen am 26. Feb 2009 · letzter Beitrag vom 11. Mär 2009
Antwort Antwort
Seite 2 von 2     12   
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 26. Feb 2009, 21:13
Zitat von J Kadison:
OOOOOOKAY ^^ überredet ich nehm doch die TEMP methode ^^

wie muss ich das denn dann aufrufen?

ExtractRes('EXEFILE', 'MYRES', 'C:\...\meineExe.exe') oder wie?
siehe Beitrag #2

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#12

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 26. Feb 2009, 21:15
na, analog des Beispiels
NOTEPAD_FILE := GetTempDir + 'Notepad_FROM_RES.EXE'; hier wird der 3te Parameter "zusammengebaut"
Ralph
  Mit Zitat antworten Zitat
J Kadison

Registriert seit: 8. Sep 2007
Ort: Ebertsheim
96 Beiträge
 
Delphi 7 Personal
 
#13

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 26. Feb 2009, 21:17
OOOOOKAY ich glaub cih geh jetzt vom Coumuter ... ich verpeil ja heut alles XD

und DANKESCHÖÖÖÖÖÖN !!!
MFG
Joshi
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#14

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 26. Feb 2009, 21:18
Das ist manchmal eine weise Entscheidung!
Morgen geht's bestimmt wieder besser von der Hand.
Ralph
  Mit Zitat antworten Zitat
Micha88
(Gast)

n/a Beiträge
 
#15

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 27. Feb 2009, 11:31
TESTFILE EXEFILE C:\Windows\Notepad.exe Kann man nicht auch

TESTFILE BIN C:\Windows\Notepad.exe nehmen?
  Mit Zitat antworten Zitat
Gabberjool

Registriert seit: 24. Jul 2006
Ort: schweiz
56 Beiträge
 
#16

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 9. Mär 2009, 08:46
Wie du siehst

Zitat:
MYPROGRAM1 RCDATA PRELOAD irgendeinprogramm.exe
Zitat:
ResStream := TResourceStream.Create(hinstance,'MYPROGRAM1',RT_R CDATA);
ResStream.SaveToFile('irgendeinprogramm.exe');
ist es egal, du musst nur im Code dan die richtigen angeben.
Bei dir also...

Zitat:
ResStream := TResourceStream.Create(hinstance,'TESTFILE',BIN);
ResStream.SaveToFile('irgendeinprogramm.exe');
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#17

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 9. Mär 2009, 11:00
Zitat von taaktaak:
Moin, Moin.
Vorgehensweise ist mir verständlich.
Aber: Wozu soll das gut sein?
Ich sehe auf Anhieb eine Anwendung. Ich hatte mal den Ehrgeiz, den integrierten Debugger aus Lazarus zu extrahieren, um die Schnittstelle zum GDB zu gewinnen, da dieser letzlich augerufen wird. Das Problem war, das ich ein IDE Projekt mit Delphi realisiert hatte, das sich nicht ohne Änderungen auf Lazarus portieren ließ. So wollte ich den Debugger aus Lazarus haben, um ihn in meiner IDE verwenden zu können. Die Schnittstelle in eine Dll packen scheidet aus, da die Debuggerschnittstelle Strings übergibt und die Unit ShareMem bzw. FastMMxxx unbekannt sind. Ich brauche den Debugger also entweder als Stanalone Debugger, der per OLE in die IDE eingebettet werden kann oder die hier angestrebte Lösung, die Exe aus einer Ressource heraus zu starten.

Die betreffenden Units mit Delphi übersetzen scheidet wegen einiger wesentlicher Inkompatibilitäten syntaktischer Natur ebenfalls aus.

Zitat von taaktaak:
Um sicherzustellen, dass die Programme NUR durch die Delphi-Anwendung gestartet werden können?

Kann man die einzelnen Programme nicht mit Hilfe anderer Software wieder aus der Ressource extrahieren?
Schon möglich. Ich denke auch, das diese Vorgehensweise als Programmschutz nicht ausreichend ist.
Aber das hängt vom Wert der zu schützenden Software ab.

Die Vorgehensweise ist mir auch klar. Aber warum muss ich, wenn ich eine Ressource extrahieren will, diese speichern? Muss ich sie dann nicht vielmehr lesen?
Delphi-Quellcode:
function ExtractRes(ResType, ResName, ResNewName: string): Boolean;
var
  Res: TResourceStream;
begin
  Result := False;
  Res := TResourceStream.Create(Hinstance, Resname, PChar(ResType));
  try
    Res.SavetoFile(ResNewName);
    Result := True;
  finally
    Res.Free;
  end;
end;
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Gabberjool

Registriert seit: 24. Jul 2006
Ort: schweiz
56 Beiträge
 
#18

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 10. Mär 2009, 09:42
bei mir funktioniert irgendwie keiner dieser varianten... ausser *.exe, schafe ich alle dateien einzubinden nur zur *.exe einbindung / Ausführung find ich keine hilfe... hmmm...
  Mit Zitat antworten Zitat
Gabberjool

Registriert seit: 24. Jul 2006
Ort: schweiz
56 Beiträge
 
#19

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 11. Mär 2009, 18:12
Zitat von Satty67:
Eintrag in der RC-Datei könnte so aussehen (ob PRELOAD OK ist, weis ich aber auch nicht, verwende ich immer für meine eingebundenen Ressourcen :
Code:
MYPROGRAM1 RCDATA PRELOAD irgendeinprogramm.exe
Aus der Ressource wieder als Datei speichern:
Delphi-Quellcode:
  ResStream := TResourceStream.Create(hinstance,'MYPROGRAM1',RT_RCDATA);
  ResStream.SaveToFile('irgendeinprogramm.exe');
Am besten im Temp-Ordner von Windows speichern und von dort mit ShellExecute und den entsprechenden Parametern aufrufen.

Du willst es wahrscheinlich nicht zwischenspeichern, aber dazu hab' ich keine Ahnung.
Bei mir sagt der immer das er ResStream ned kennt... ich kirgs mit egal welcher art nicht hin eine normale exe in eine delphi exe zu binden... alle ander dateien kein problem aber exe will der ned nehmen...

weiss einer en vorschlag
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 11. Mär 2009, 19:10
Was heißt er kennt ResStream nicht? Hast du die Variable auch irgendwo deklariert? Lass das PRELOAD mal weg. Wird das Ressourcenscript denn auch richtig compiliert?

Desweiteren wäre es wünschenswert, wenn du etwas auf korrektes Deutsch achten würdest in deinen Beiträgen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:18 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