![]() |
%systemdrive% in delphi ansprechen??
sorry habe dazu nichts im forum oder der hilfe von delphi finden können ..
ich kenne es nur aus der batch-programmierung das man das systemdrive mit %systemdrive% anspricht... nur wie mache ich es delphi klar?? |
Re: %systemdrive% in delphi ansprechen??
Delphi-Quellcode:
GetWindowsDirectory(Windir, SizeOf(Windir));
SysDrive := ExtractFileDrive(StrPas(windir)); |
Re: %systemdrive% in delphi ansprechen??
Jetzt mal unabhängig davon, dass es für einige Umgebungsvariablen passende API-Funktionen gibt, das Umsetzen läuft mit "ExpandEnvironmentStrings". Für den MS-XML-Parser (bzw. dessen Prüffunktion ob XML überhaupt installiert ist) habe ich diese Funktion geschrieben:
Delphi-Quellcode:
Sollte auch hier in der DP zu finden sein. Wie auch immer, ein Beispiel:
function ExpandEnvStr(const szInput: string): string;
const MAXSIZE = 32768; begin SetLength(Result,MAXSIZE); SetLength(Result,ExpandEnvironmentStrings(pchar(szInput), @Result[1],length(Result))); end;
Delphi-Quellcode:
Man kann auch was anhängen:
ShowMessage(ExpandEnvStr('%windir%'));
Delphi-Quellcode:
Wie gesagt, in manchen Fällen gibt es passende Funktionen. Aber in einigen Fällen (etwa beim Auslesen von Werten in der Registry o.ä.) ist es möglich, dass der String eine Umgebungsvariable enthält. Und dann ist die o.g. Funktion evtl. nützlich.
ShowMessage(ExpandEnvStr('%windir%\help'));
|
Re: %systemdrive% in delphi ansprechen??
Liste der Anhänge anzeigen (Anzahl: 1)
Ich möchte auch die %Environment% Variablen nutzen.
Das hier geht:
Delphi-Quellcode:
Aber
{ShellExecute(0,'open','rundll32.exe',
'C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen c:\logo.jpg','',SW_SHOW);
Delphi-Quellcode:
bringt mir immer einen
{ShellExecute(0,'open','rundll32.exe',
'%SystemRoot%\System32\shimgvw.dll,ImageView_Fullscreen c:\logo.jpg','',SW_SHOW); 'Fehler beim Laden von %SystemRoot%\System32\shimgvw.dll. Das angegebene Modul wurde nicht gefunden.' Mit '%WindDir%' ist es genau so. Meine Umgebungsvariablen sind ok. Ich würde schon gern die Variable benutzen, damit mein Programm auch auf Rechnern läuft, die Windows in einem anderen Verzeichnis installiert haben. Bei ShellExecute sollte es doch direkt funktionieren, oder???! :wiejetzt: |
Re: %systemdrive% in delphi ansprechen??
Anscheinend nicht, Du musst wohl oder übel die Umgebungsvariablen auflösen (ExpandEnvironmentStrings bzw. GetEnvironmentVariable).
|
Re: %systemdrive% in delphi ansprechen??
Zitat:
|
Re: %systemdrive% in delphi ansprechen??
Zitat:
Zitat:
Wie auch immer - danke für die Info. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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 by Thomas Breitkreuz