Entwickler-Ecke
Windows API - Leerzeichen im Pfad verhindert Ausführung
kandesbunzler - Do 20.11.08 17:52
Titel: Leerzeichen im Pfad verhindert Ausführung
Hallo allerseits,
wenn ich folgende ausführe, wird das aufgerufene Programm nicht ausgeführt (DOS-Box Fehlermeldung: "Windows cannot find c:\Prog\Projects\Listview. Make sure ...):
Delphi-Quelltext
1: 2: 3: 4: 5:
| ... Kommando_01 := 'cmd.exe'; Kommando_02 := '/c start c:\Prog\Projects\Listview Test\Project1.exe'; shellexecute (handle, 'open', PCHAR (Kommando_01), PCHAR (Kommando_02), nil, Sw_Show); ... |
Im zweiten Fall jedoch funktioniert es problemlos:
Delphi-Quelltext
1: 2: 3: 4: 5:
| ... Kommando_01 := 'cmd.exe'; Kommando_02 := '/c start c:\Prog\Projects\Test\Project1.exe'; shellexecute (handle, 'open', PCHAR (Kommando_01), PCHAR (Kommando_02), nil, Sw_Show); ... |
Ergo: Der Pfad wird nur bis zum ersten Leerzeichen ausgewertet und dann abgebrochen. Wie wird der gesamte Pfad übergeben?
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 20.11.2008 um 20:03
Dunkel - Do 20.11.08 18:04
Titel: Re: Leerzeichen im Pfad verhindert Ausführung
Delphi-Quelltext
1: 2: 3: 4: 5:
| ... Kommando_01 := 'cmd.exe'; Kommando_02 := '/c start "c:\Prog\Projects\Listview Test\Project1.exe"'; shellexecute (handle, 'open', PCHAR (Kommando_01), PCHAR (Kommando_02), nil, Sw_Show); ... |
kandesbunzler - Do 20.11.08 18:53
Nope - es öffnet sich nur die DOS-Box.
Ein Gegencheck mit
Delphi-Quelltext
1: 2: 3:
| ... Kommando_02 := '/c start c:\Prog\Projects\Listview<span style="color: red">_</span>Test\Project1.exe'; ... |
funkioniert problemlos.
alzaimar - Do 20.11.08 20:03
ohne 'start' aber mit Fänsegüßchen? (Endlich mal ein "Kandesbunzler", hab ich ewig drauf gewartet)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!