![]() |
Shell Execute verallgemeinern
Kann man mit ShellExecute auch auf beliebige Laufwerkbuchstabn zugreifen?
meins ist jetzt auf Laufwerk I programmert, weil der USB stick I bei mir heißt. Wenn ich jetzt aber Morgen den Stick abgebe und meine Lehrerin ihn reinsteckt und er beispielsweise H ist, bricht mein ganzes Gerüst doch zusammen, irgendwelche Ideen oder Tipps? |
AW: Shell Execute verallgemeinern
Einfach keine festen Pfade verwenden. Z.B. Pfad relativ zum Pfad zur Exe ( Param 0)
|
AW: Shell Execute verallgemeinern
und jetzt nochmal ne erklärung für dumme?! :wink:
ne jetzt im ernst, versteh nur bahnhof |
AW: Shell Execute verallgemeinern
Das Problem ist nicht Shellexecute sondern wie du ShellExecute aufrufst.
Wenn du als Programm "c:\irgendwas.exe" angibst wird natürlich auf "c:\" nach der Datei gesucht. Woher weißt du wo die Datei wirklich liegt? Wenn du dir diese Frage selbst beantworten kannst, kannst du auch das "c:\irgendwas.exe" durch XY+"irgendwas.exe" ersetzen. |
AW: Shell Execute verallgemeinern
In ParamStr(0) steht immer der komplette Pfad zum eigenen Programm. Das kann man sich zunütze machen.
|
AW: Shell Execute verallgemeinern
Die Exe bekommt sich selber inkl. Pfad als 0. Parameter
![]() Aus diesem Pfad kannst du per ExtractFilePath() den Pfad, in der die Exe liest extrahieren. |
AW: Shell Execute verallgemeinern
Zitat:
Delphi-Quellcode:
var
ProgVerzeichnis, ProgPfad: String; begin //Pfad der Anwendung, z. B. c:\meinprogramm\programm.exe ProgPfad := ParamStr(0); //Pfad ohne Anwendung, z. B. c:\meinprogramm\ mit Backslash am Ende ProgVerzeichnis := ExtractFilePath(ParamStr(0)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr. |
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