Shellexecute funktioniert nicht, warum ?
-
Hi,
warum kann ich mit folgender Zeile keine Dateien (txt,avi,mpeg,exe) öffnen:ShellExecute(Handle,"open",path.c_str(), NULL, NULL, SW_SHOWNORMAL);
-
Returns a value greater than 32 if successful, or an error value that is less than or equal to 32 otherwise. The following table lists the error values.
Und, was returned es?
-
Hi Zero01, der Aufruf ist eigendlich richtig. Steht in path auf der richige Pfad einschließlich Dateiname drin bzw. existiert die Datei auch wirklich? Andernfalls kannst du ja mal posten was als Fehlerwert zurückkommen (siehe MSDNs Posting).
-
HINSTANCE i = ShellExecute(Handle,"open",path.c_str(), NULL, NULL, SW_SHOWNORMAL);
int zahl = (int) i;
ShowMessage(zahl);Der Rückegabewert ist immer 2
-
Kein großer Selbermacher, was? Wie wärs wenn du mal die erhaltene 2 auf die einzelnen angeführten Errors in der WinAPI mit einem switch o.Ä. prüfst? Dann kennst du plötzlich auch den Fehler

MfG SideWinder
-
Ja klar, 2 bedeutet "Path not found". Ich finde es komisch, dass ich nur der C Partition Dateien ausführen kann und nicht in anderen Verzeichnissen da ich mir den Pfad über eine OpenDialog hole
Selbermacher ? auch mit etwas Unterstützung in manchen mir noch unbekannten Fällen immer doch

-
Ok, jetzt funzt es 1A. Ich hatte eben den path anstatt einem OpenDialog über eine DirectoryListBox gesetzt und beim lesen der Einstellungen aus der Registry beim Programmstart vergessen die path Variable mit einem gültigen Pfad zu versehen

Sorry für meine Blindheit und thx für eure Mühe
