Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

18.11.2008, 17:02

ich hatte gestern das gleiche problem... ich habe _spawnl verwendet

http://msdn.microsoft.com/en-us/library/wweek9sc(VS.80).aspx
my work is my passion

cereus

Frischling

Beiträge: 45

Wohnort: Ufg

  • Private Nachricht senden

12

19.11.2008, 10:39

Chase, danke für deine Antwort, aber die hilft mir nicht wirklich weiter. Ich versteh nicht ganz was du meinst.
Mein Programm soll einfach ein Konsolenprogramm sein. Diese Programm soll einfach eine exe-Datei ausführen. So als würde ich diese Datei einfach über den Desktop ausführen. Diese ausgeführte Programm will ich dann normal nutzen und wenn ich es beende sollt ich wieder in der Konsole in meinem alten Programm sein. Was muss ich jetz machen, da gibts doch sicher irgendwas einfaches..... :?:
--- ---

13

19.11.2008, 10:51

Genau das sollte "system" eigentlich machen. Warum es Murks sein soll, weiss ich nicht, aber vielleicht ist diese Aussage ja windowsspezifisch. Es kommt natuerlich auch immer darauf an: Soll der Benutzer das Programm eingeben oder ist es fest, etc ... . Hier ein Auszug aus der man page:

Zitat

SYNOPSIS
#include <stdlib.h>
int system(const char *command);
DESCRIPTION
system() executes a command specified in command by calling /bin/sh -c
command, and returns after the command has been completed.

Anonymous

unregistriert

14

19.11.2008, 10:54

knivil
System ist immer Murks und nicht nur auf Windows. Noch größerer Murks ist es sogar unter POSIX-Systemen!

http://www.c-plusplus.de/forum/viewtopic-var-t-is-39453.html

Merke: Immer die API-Funktionen benutzen!

cereus

Frischling

Beiträge: 45

Wohnort: Ufg

  • Private Nachricht senden

15

19.11.2008, 11:08

also bei system() geht am wenigsten.
Wenn ich versuche Programme über ShellExecute oder CreateProcess aufzurufen, dann starten die Programme zwar, beenden sich aber durch eine Fehlermeldung wieder.
--- ---

Anonymous

unregistriert

16

19.11.2008, 11:21

Welche Fehlermeldung?

Noch mal, weil es einigen nicht so recht in den Sinn kommt: Wir können keine (Man stelle sich vor) Gedanken lesen und das vorallem nicht über hunderte von Kilometern Kabel usw.

Zum Xten mal, an alle Fragestellenden, Mopperenden usw.: http://www.tty1.net/smart-questions_de.html LESEN

17

19.11.2008, 11:49

Was sagt denn der Rückgabewert von ShellExecute?
Wenn der kleiner gleich 32 ist, ist ein Fehler aufgetreten.
Fehlercodes gibt es hier: http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx

Ich hab das mal kurz probiert. Klappt einwandfrei.

C-/C++-Quelltext

1
ShellExecute(0,0,"C:\\Programme\\Irgendeine.exe", NULL, NULL, SW_NORMAL); 


Parameter 1 und 2 auf "0" gesetzt.

Mit Parameter 2 kannst du dem Zielprogramm eine Aktion die es ausführen soll mitteilen. In deinem Beispiel "open".

cereus

Frischling

Beiträge: 45

Wohnort: Ufg

  • Private Nachricht senden

18

19.11.2008, 12:36

okay erstmal danke.
Ich hab jetzt ne Fehlerabfrage für ShellExecute gemacht. Der Fehler liegt nicht an der Funktion, da läuft alles glatt. Darum hab ich mal noch ein paar andere exe-Dateien ausprobiert. Das Komische:
Bei Microsoft Encarta läuft alles super, bei Spielen aber gibts Problem. Entweder sie starten und geben eine Fehlermeldung mit Problembericht aus, oder der Bildschirm wir scharz und es passiert gar nix mehr.
--- ---

Asmodiel

Treue Seele

Beiträge: 150

Wohnort: Schweiz

Beruf: Applikationsentwickler

  • Private Nachricht senden

19

19.11.2008, 13:06

Evtl. liegts an einem Pfad, auf den das Spiel dann zugreift?
Fehler beim Ausführen des Spiels?

cereus

Frischling

Beiträge: 45

Wohnort: Ufg

  • Private Nachricht senden

20

19.11.2008, 13:34

das glaub ich nicht. Ich hab immer den Pfad dahin genommen wo die richtige exe-Datei ist. Keine Verknüpfungen.

Es kommt beim Ausführen immer der Fehlerbericht von Microsoft. "Es ist ein Problem aufgetreten, das Spiel musste beendet werden..... Möchten sie den Bericht senden?" So was eben. Weiß da jemand was?
--- ---

Werbeanzeige