JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=bfaf62ade72a7f8681ace0fac6b5a638Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Exe aufrufen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MATTT
Junior JLI'ler



Anmeldedatum: 18.06.2003
Beiträge: 59

Medaillen: Keine

BeitragVerfasst am: 10.01.2004, 18:07    Titel: Exe aufrufen Antworten mit Zitat

hallo!

weiß jemand mit welchen funktionen ein normal Win32-Anwendung
andere Anwendungen starten kann
_________________
Ist jetzt ganz neu geschrieben (mit coolen Bilder):
www.matthias.heimspiel.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 10.01.2004, 18:10    Titel: Antworten mit Zitat

ShellExecute(); heisst die Funktion, welche Parameter diese hat und was sie bedeuten findest du in der VC++ Hilfe. Razz
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 10.01.2004, 18:39    Titel: Antworten mit Zitat

Hier sind ein paar Methoden:

http://www.online-tutorials.net/files/text_version.php?open=2&menu=1&id=47
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 10.01.2004, 22:43    Titel: Antworten mit Zitat

das Thema hatten wir hier schön mindestens 2xmal:

aber:

system("Dos Befehl");

oder

wenn du nicht warten willst, bis das Programm beendet ist, was du aufrufen willst:

WinExec("Dos Befehl",SW_SHOW);

statt SW_SHOW kannst du auch SW_HIDE, SW_MINIMIZE, ... verwenden Wink
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 10.01.2004, 23:24    Titel: Antworten mit Zitat

gibt es eine linux alternative zu WinExec ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mazze
JLI'ler


Alter: 39
Anmeldedatum: 02.01.2004
Beiträge: 145

Medaillen: Keine

BeitragVerfasst am: 10.01.2004, 23:42    Titel: Antworten mit Zitat

xardias hat Folgendes geschrieben:
gibt es eine linux alternative zu WinExec ?


Was macht "WinExec" genau?
..zum ausführen ist man z.b. bei diesen Funktionen nicht verkehrt,allerdings ersetzen diese den momentanen Prozess:

Code:

       int execl(const char *path, const char *arg, ...);
       int execlp(const char *file, const char *arg, ...);
       int execle(const char *path, const char *arg , ..., char * const envp[]);
       int execv(const char *path, char *const argv[]);
       int execvp(const char *file, char *const argv[]);


"system" gibt es auch...sollte man aber afaik aufgrund einiger Sicherheitsdefizite vermeiden...gilt afaik auch für Window....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 11.01.2004, 13:19    Titel: Antworten mit Zitat

WinExec sollte man aber nicht verwenden, wenn mans für ein 32-Bit Windows verwenden will. Das is nämlich die 16-Bit Variante und die läuft AFAIK nich auf WinXP.

@Mazze: Welche Sicherheitsmankos gibts denn bei system()?
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.01.2004, 13:39    Titel: Antworten mit Zitat

The Lord of Programming hat Folgendes geschrieben:
WinExec sollte man aber nicht verwenden, wenn mans für ein 32-Bit Windows verwenden will. Das is nämlich die 16-Bit Variante und die läuft AFAIK nich auf WinXP.

Falsch!

Jede Windowsversion ist zur vorherigen abwärtskompatibel. Und DOS war ja auch der Vorgänger von allen Windowsversionen und wird immer noch unterstützt so auch der system() Befehlsaufruf, und unter WindowsXP funktioniert der WinExec() Befehlsaufruf wunderbar!! Very Happy
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 11.01.2004, 14:11    Titel: Antworten mit Zitat

Dann schau mal bitte in der MSDN unter WinExec. Bei mir steht da zumindest:
Die MSDN hat Folgendes geschrieben:
The WinExec function runs the specified application.

This function is provided for compatibility with 16-bit Windows. Win32-based applications should use the CreateProcess function.

UINT WinExec(
LPCSTR lpCmdLine, // address of command line
UINT uCmdShow // window style for new application
);

Ich habs selbst probiert: Bei meinem Win98 hats ausgezeichnet gefunzt. Später auf nem anderen PC mit WinXP hats überhaupt nich mehr gefunzt. Ich hab den Pfad tausendmal überprüft. Immer kam ein Fehler...
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.01.2004, 15:29    Titel: Antworten mit Zitat

also bei mir geht's unter Windows XP einwandfrei.

Außerdem steht da "should" = sollte, ist also nicht zwingend erforderlich.

Aber okay, kann anscheinend doch zu Problemen führen..
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 04.02.2005, 11:25    Titel: Antworten mit Zitat

Zitat:
Jede Windowsversion ist zur vorherigen abwärtskompatibel. Und DOS war ja auch der Vorgänger von allen Windowsversionen und wird immer noch unterstützt so auch der system() Befehlsaufruf, und unter WindowsXP funktioniert der WinExec() Befehlsaufruf wunderbar!! Very Happy


Woher hast Du denn diesen Quark?

Nur Win9x und WinME sowie die noch relativ bekannte 3.11er und deren Vorgänger sind DOS-basiert.

Die NT-Reihe (NTx,2000,2003,XP) hat mit DOS eigentlich gar nichts zu tun.
Nur waren die Microsoft-Leute so "gutherzig" und haben allerlei veraltetes Zeug (gleichnamige Befehle) in die NT-Reihe mitreingepackt, damit diese teils kompatibel arbeiten kann. Razz Wink

So mein Wissensstand. Rolling Eyes
_________________
Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 04.02.2005, 11:40    Titel: Antworten mit Zitat

Threadersteller
http://83.246.114.104/patrick/schnippel.php?id=9

Finger weg von ::system(command); hab schon oft genug gesagt wieso.

TheMillenium
DOS ist nicht der Vorgänger von Windows, es ist wirklich Windows NT (Erschien 1986 mit "GUI").

DOS war sogesehen nur der Kernel für die GUI's Windows 9x und ME. Die NT serie ist um einiges älter und die sind nicht Abwärtskompatibel zu den DOS-Serien-GUIs. (zum glück!)

Der system-Befehl kam aus den Batch-Zeiten von DOS wo man noch keine richtigen Programme in C programmiert hat sondern in Assembler. Allein schon die unsicherheit von system (rückgabewerte, exceptions, warnings, spezifikationen) sollte dazu anregen dieses verbleibsel aus verdammt alten Zeiten nicht mehr zu benutzen.

Und bei den ersten NT-Systemen gabs system nicht, dort wurde alles mit ShellExecute oder CreateProcess gehandhabt.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 04.02.2005, 21:44    Titel: Antworten mit Zitat

Auch, wenn mich jetzt alle Schlachten, weil es aus der Process.h kommt (net Standard, soweit ich weiß):
_spawn und _exec, davon gibts mehrere Versionen, gekennzeichnet mit einem zusätzlichen Buchstaben am Ende. ich nutze _spawnl und _execl. Die gibts auch als Unicode... z.B. _wspawnl.
Lass dich jetzt net verwirren... Es gibt, wie du siehst, viele Wege zum Ziel. Am besten, du guckst mal alle ganz in Ruhe in der Doku an und suchst dir dann den aus, der dir am besten gefällt.
Gruß

FH
_________________
goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum