Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ShellExecute - funktioniert nicht. (https://www.delphipraxis.net/114322-shellexecute-funktioniert-nicht.html)

skyquaker 23. Mai 2008 15:55

Re: ShellExecute - funktioniert nicht.
 
So, das ist zwar nicht unbedingt wie ich es mir vorgestellt habe, es scheint jedoch zu funktionieren.

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open',PChar(ExtractFilepath(ParamStr(0))+'bin\test.bat'),'.\',PChar(ExtractFilepath(ParamStr(0))+'bin'),SW_NORMAL);
Das seltsame daran ist, dass es nur absolute Pfadangaben akzeptiert (das Problem hatte ich mit ShellExecute noch nie) und das sich das Programm ausschließlich über die Batch Datei aufrufen lässt (ohne Batch startet es garnicht erst).

Das mit der Pfadangabe hatte ich vorher schon einmal probiert, ich hatte jedoch ein "\" am Ende stehen, weshalb auch das nicht funktioniert hat.

Luckie 23. Mai 2008 17:55

Re: ShellExecute - funktioniert nicht.
 
Das ist genau so, wie es funktioniert. Wer weiß wo der relative Pfad hinzeigt bei dir. Und den Rückgabewert hast du immer nboch nicht ausgewertet. Beim nächsten Fehler raten wir hier wieder rum, wie die Blöden.

Fussball-Robby 23. Mai 2008 21:39

Re: ShellExecute - funktioniert nicht.
 
Zitat:

Zitat von skyquaker
So, das ist zwar nicht unbedingt wie ich es mir vorgestellt habe, es scheint jedoch zu funktionieren.

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open',PChar(ExtractFilepath(ParamStr(0))+'bin\test.bat'),'.\',PChar(ExtractFilepath(ParamStr(0))+'bin'),SW_NORMAL);

ShellExecute mit ExtractFilePath(ParamStr(0)) zu verwenden, ist doch das einzig Richtige :roll: Wie Michael jetzt schon (mehrmals glaube ich) gesagt hat, beim relativen Pfad ohne ParamStr(0) weißt du jenach dem, wie dein Programm gestartet wurde, nie wo der hinzeigt.

FGD 25. Mai 2008 10:11

Re: ShellExecute - funktioniert nicht.
 
Ich möchte keinen neuen Thread aufmachen.

Wie kann man ein Programm mit Parametern starten.

In einer Verknüpfung würde es so aussehen:
Code:
...\ROClientGame.exe" Benutzname MD5-Hash

DeddyH 25. Mai 2008 10:14

Re: ShellExecute - funktioniert nicht.
 
Schau Dir mal den 4. Parameter von ShellExecute an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz