Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
07.08.2002, 10:52
anothergb02



Wie öffnet man exe files von einem laufenden Programm ??
(Bei C++)

bitte danke

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
001
07.08.2002, 11:05
anothergb02



mit sona Kacke hier etwa ?
_execl( prog, prog, "_execl", "two", NULL );
_execle( prog, prog, "_execle", "two", NULL, my_env );
....
_execvpe( prog, args, my_env );

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
002
07.08.2002, 14:35
Prefect



Language, Language...

Dateien öffnet man immer mit fopen(), egal ob's Programmdateien sind oder nicht.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
003
07.08.2002, 15:16
apfelkorn



@Prefi:
Ich glaube er meinte eher, wie man sie ausführt.

ich weiß nicht genau, was die befehle, die du obe genannt hast bewirken, aber ausprobieren kann ja nur dei software in die luft jagen, nicht die hardware ( ;) )

ich würd einfach mal sagen: probiers aus!

--

zum Seitenanfang zum Seitenende Profil || Suche
004
07.08.2002, 17:16
Retro



Ansonsten gibts noch ShellExecute(...) womit sich Dateien / Programme öffnen lassen.

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
005
07.08.2002, 20:27
dp
Administrator


CreateProcess() oso (evt A oder Ex oder ExA. m$ halt)

--

zum Seitenanfang zum Seitenende Profil || Suche
006
07.08.2002, 20:35
mani



CreateProcessA() ist die ANSI variante von CreateProcess()
CreateProcessW() die UNICODE variante

von jeder WINAPI funktion, die nen string als parameter hat, gibts 2 version

je nachdem, ob du #define UNICODE gesetzt hast oder nicht wird z.b. CreateProcess() durch das entprechende ersetzt :)

Quellcode:
#ifdef UNICODE
#define CreateProcess CreateProcessW
#else
#define CreateProcess CreateProcessA
#endif

so oder ähnlich, siehe headerdateien, kA, auf jedenfall mit macros =)

CreateProcessEx/A/W() entprechend die extendedversion :o

normalerweise ist es unsinnig direkt die ANSI bzw UNICODE funktion aufzurufen

--


Dieser Beitrag wurde am 07.08.2002 um 20:39 von mani bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
07.08.2002, 23:00
Leviathan



int system(char * program)

so kenne ich es, zumindest für konsolenanwendungen.

--

Entities: HL | HL²
Kompilierfehler
r_speeds | mehr über r_speeds

zum Seitenanfang zum Seitenende Profil || Suche
008
07.08.2002, 23:27
anothergb02



sehr gut danke, mit diesem "scheiß" execute kann ich nämlich nich viel anfangen, das greift irgend wie auf mein ogl window zu und schließt das beim ausführen (dransformiert es) :( das mit dem shellexecute() oder CreateProcess() dürfte bestimmt funktionieren
danke.

@Prefect
0_o -> :´( *fühle mich verscheißert*
> @_~
trozdem danke :&

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
009
08.08.2002, 18:59
TheTinySteini



Tja, das liegt daran, dass die exec-Funktionen nicht zurückkehren. Jedenfalls ist das unter Linux so, unter Windows wird es vermutlich genauso sein. Sie führen einfach das angegebene Programm aus und kehren danach nie wieder zurück. Daher muss man solche netten Sachen machen wie fork() (mal wieder unter Linux), um eine weitere Instanz der aktuellen Anwendung anzulegen. In dieser weiteren wird dann das Programm gestartet, die andere Instanz kann auf z.B. den Rückgabewert warten.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
010
08.08.2002, 23:23
Diablo_bth



Unter dem Thread-Thema fällt mir da noch ne Frage ein, die mir schon lange unter den Nägeln brennt, nähmlich wie z.B. das Dateiformat von ausführbaren Dateien unter Windoof ( exe, dll, ocx etc.. ) aufgebaut ist. Also an welchen stellen text, stack, code Segmente sind und wo Import- und Exportobjekte aufgeführt werden. Hat da vielleicht jemand ne Ahnung?

--

zum Seitenanfang zum Seitenende Profil || Suche
011
09.08.2002, 01:30
Leviathan



ich weiss zwar nicht, wie das exe-format aufgebaut ist, aber ich weiss, wo es steht: www.wotsit.org
geb bei der suche (links oben) einfach mal exe ein, dann findest du was.

achja: alle exe-dateien beginnen mit MZ (genau wie dlls, scrs|bildschirmschoner, vxd|gerätetreiber, ocx und noch einige formate, alles was mehr oder weniger ausfürbar ist denke ich mal)

--

Entities: HL | HL²
Kompilierfehler
r_speeds | mehr über r_speeds

zum Seitenanfang zum Seitenende Profil || Suche
012
09.08.2002, 03:28
dp
Administrator


win32 binaries haben verschiedene sections, unterteilt in .data (also asm code), .text (statische daten, strings), .rdata glaub (import/exportierte symbole). die offsets und längen dieser sections sind relativ am anfang der binary in der nähe von "PE".

bei wotsit solltest du evt nach PE wie portable executable statt nach .exe suchen..

--


Dieser Beitrag wurde am 09.08.2002 um 03:29 von Darth Paul bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche