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

21

19.11.2008, 14:04

Mit ShellExecute DirectX-Anwendungen aufzurufen,
scheint in der Tat Probleme zu machen.

Der Umweg über eine Verknüpfung zur Exe funktioniert.
Also mit ShellExecute die Verknüpfung öffnen.

Mordrak

1x Contest-Sieger

Beiträge: 121

Wohnort: München

Beruf: Junior IT Consultant

  • Private Nachricht senden

22

19.11.2008, 14:29

Zitat von »"cereus"«

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

Zitat von »"TrikkieMikkie"«

Mit ShellExecute DirectX-Anwendungen aufzurufen,
scheint in der Tat Probleme zu machen.


Also ich habe keine Probleme mit ShellExecute-Aufruf, auch bei DirectX-Anwendungen. Irgendwie klingt es durchaus eher, als ob einige installierten Spiele sich darauf verlassen, aus dem korrekten Pfad heraus gestartet zu werden.

Cereus, Deine Formulierung ist jetzt nicht ganz klar. Hast Du nur den Pfad zur EXE genommen, oder hast Du auch das 'current Directory' geaendert? Das macht einen deutlichen Unterschied. Dafuer spricht zusaetzlich, dass es bei Trikkie mit einem Link geht. Wird erst der Link aufgerufen zum .EXE, wird das aktuelle Verzeichnis geaendert bevor das .EXE tatsaechlich gestartet wird.

Gruesse,
Mordrak
What's yellow and equivalent to the axiom of choice? The Lemmon of Zorn!

cereus

Frischling

Beiträge: 45

Wohnort: Ufg

  • Private Nachricht senden

23

19.11.2008, 14:36

ich hab bei ShellExecute den direkten Pfad angegeben. Einfach abgeschrieben. Ich weiß gar nich was ein "current Directory" ist?!?
--- ---

Mordrak

1x Contest-Sieger

Beiträge: 121

Wohnort: München

Beruf: Junior IT Consultant

  • Private Nachricht senden

24

19.11.2008, 14:49

Um. Nun, das aktuelle/aktive/arbeits-Verzeichnis. Jeder relative Pfad den man spezifiziert geht relativ zum aktuellen Verzeichnis... Wenn nun der aktuelle Pfad nicht stimmt und ein Programm seine Zusatzdateien 'relativ' erwartet, dann greift es ins leere...

Gib' doch einfach mal das Zielverzeichnis im vorletzten Parameter von ShellExecute an.

Zitat von »"Compiler-Hilfe"«

lpDirectory
[in] A pointer to a null-terminated string that specifies the default (working) directory for the action. If this value is NULL, the current working directory is used. If a relative path is provided at lpFile, do not use a relative path for lpDirectory.


Also zusaetzlich zum vollen Pfad zum .exe File gibst Du auch noch den vollen Pfad zum Verzeichnis an....

Gruesse,
Mordrak

PS: Pfade (usw) gehoert zu den absoluten Grundlagen, wenn Dich jemand um 4 Uhr morgens weckt, musst Du das vor- und rueckwaerts erklaeren koennen :D
What's yellow and equivalent to the axiom of choice? The Lemmon of Zorn!

cereus

Frischling

Beiträge: 45

Wohnort: Ufg

  • Private Nachricht senden

25

19.11.2008, 14:52

he danke!! Jetzt gehts!

:o
--- ---

26

19.11.2008, 15:05

Ja, so klappts!

Hätte man auch selbst drauf kommen können... :roll: :)

Anonymous

unregistriert

27

07.01.2009, 15:17

Sorry, ich komm damit noch nicht so richtig zurecht. Ich habs mal versucht:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <cstdlib>

using namespace std;

int main ()
{
    system ("C://Users//Luca//Documents//Visual%20Studio%202008//Projects//Zahlenraten//Release//Zahlenraten.exe");
    return 0;
}


Es kommt zwar keinen Fehler, doch es steht immer folgendes da (in der Konsolenanwendung):

Quellcode

1
Le chemin d'accès spécifié est introuvable.


Da wenige von euch Französisch verstehen, übersetz' ichs mal:

Quellcode

1
Der angegebene Pfad wurde nicht gefunden.


Ich habe gleich 6 mal nachgeschaut, ob es auch der richtige Pfad war, doch es war er. Und wenn ich die "%20" (Space) bei "Visual Studio 2008" verglasse, kommt immer noch dieselbe Nachricht.

Ich habs schon mit allem versucht:

C-/C++-Quelltext

1
2
3
system ("file:///C:/Users/Luca/Documents/Visual%20Studio%202008/Projects/Zahlenraten/Release/Zahlenraten.exe");

system ("C:\Users\Luca\Documents\Visual Studio 2008\Projects\Zahlenraten\Release\Zahlenraten.exe");


Und noch viele mehr.Ich weiß auch, dassdie andere Variante auch geht! Doch ich will mehr lernen! Ich will alles wissen, was es zu wissen gibt, und ich will es auch können! Ich habe schon viele male immer versucht es hinzukriegen, doch es geht nicht! Vllt. weiß einer von euch, was ich falsch mache? Ich muss das lösen! Pfäde MUSS man können, wenn man erfolgreicher Informatiker werden will!

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

28

07.01.2009, 16:00

@spiri:

Zitat von »"TrikkieMikkie"«


Anonymous

unregistriert

29

07.01.2009, 16:04

@dasblub

Zitat von »"Spiri"«

Ich weiß auch, dassdie andere Variante auch geht! Doch ich will mehr lernen! Ich will alles wissen, was es zu wissen gibt, und ich will es auch können!

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

30

07.01.2009, 16:07

dann lern folgendes: so wie du es machen willst ist es (a) nicht schön, (b) nur unter windows lauffähig (c) nicht wirklich standardkonform (soweit ich das einschätzen kann)

also mach es lieber mit der anderen variante und vergiss system() einfach ;)

Werbeanzeige