![]() |
Programmpath
hoi, womit bekomme ich den programpath raus? ich möchte von meinem programm aus seiten aufrufen....wenn aber ein ami es bentutz is der ordner ja nicht "programme" sondern "program files" (z.b).
Achja und wie kriege ich raus auf welcher partition windows installiert ist? |
Re: Programmpath
|
Re: Programmpath
hallo, nein, so ein langer code kann nicht nur dazu da sein die default ordner zu finden. (aber danke ;))
ich meinte eigentlich..es muss doch sowas wie $WINDIR$ und das gleiche auch für den programm ordner geben, oder? |
Re: Programmpath
Moin Silent,
such mal hier nach ![]() Alternativ könntest Du auch die Umgebungsvariable PROGRAMFILES (SYSTEMROOT) auslesen. Im zweiten Falle muss dann nur der Laufwerksbuchstabe extrahiert werden. |
Re: Programmpath
Auch hier ein Antort von mir. Es gibt mehrere Möglichkeiten den Pfad zu bestimmen:
Delphi-Quellcode:
Das Windows-Verzeichnis kann so ermittelt werden (aus der Delphi-Hilfe)
Var Verzeichnis:string;
begin Verzeichnis:=GetCurrentDir; //das aktive Verzeichnis In diesem Beispiel befinden sich ein Eingabefeld und eine Schaltfläche in einem Formular. Beim Klicken auf die Schaltfläche werden das aktuelle und das Windows-Verzeichnis nach dem im Eingabefeld angegebenen Dateinamen durchsucht. Das Ergebnis der Suche wird anschließend in einem Meldungsfenster angezeigt.
Delphi-Quellcode:
[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
procedure TForm1.Button1Click(Sender: TObject);
var buffer: array [0..255] of char; FileToFind: string; begin GetWindowsDirectory(buffer, SizeOf(buffer)); FileToFind := FileSearch(Edit1.Text, GetCurrentDir + ';' + buffer); if FileToFind = '' then ShowMessage('Datei ' + Edit1.Text + ' nicht gefunden.') else ShowMessage('Datei ' + FileToFind + ' gefunden.'); end; |
Re: Programmpath
Zwischenfrage: Was wird gesucht?
1) Der Pfad, in den Dein Programm installiert ist? 2) Der Vorgabepfad, wo normalerweise alle Programme installiert werden (aber nicht müssen!)? |
Re: Programmpath
Zitat:
|
Re: Programmpath
Zitat:
Gruß Wormid |
Re: Programmpath
hallo christian, guvck ich mir gleich mal an :)
an die anderen: ich suche kein file in einem win/programm ordner, sondern ich suche ledeglich die namen des WindowsProgramm Ordners... bei der deutschen windows version heisst der "Programme", bei der englischen z.b "program files" |
Re: Programmpath
Also bei mir unter Windows 2000 steht dieser Pfad in der Registry unter:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion Schlüssel: ProgramFilesDir Für Windows 98 habe ich das mal eben überprüft und da ist es genauso. |
Re: Programmpath
danke nTE mal reinschauen :), wenn es so ist dann ist es einfach =)
|
Re: Programmpath
Moin nTE,
da es aber dokumentierte Wege gibt, an diesen Wert zu gelangen, ist es gefährlich, dies direkt auszulesen. In einer weiteren Version, oder auch nach einem Service Pack könnte das theoretisch nicht mehr an dieser Stelle liegen. |
Re: Programmpath
Hi Christian.
Natürlich hast du Recht. =) Die SHGetSpecialFolderLocation Funktion sieht wirklich besser aus. :) Ich muss eingestehen, dass ich den Code den the_master verlinkt hat, nur kurz überflogen haben mit der selben Erkenntnis wie silent "hmm.. ganz schön lang :P". *g* |
Re: Programmpath
jo den programmpath find ich da, das ist schonmal gut :)...wie krieg ich den WIndows ordner namen noch raus, steht der da auch irgendwo?
|
Re: Programmpath
oh, hab jetzt erst christians post gesehen...ich finde bei deinem link nur 3 ergebnisse christian und irgendwie krieg ichs da nicht raus wie der windows bzw windowsprogrammordner heisst :(
|
Re: Programmpath
hatte es mal so versucht jetzt:
Delphi-Quellcode:
aber %ProgramFiles% wird wohl als normaler ordner benutzt, und da es keinen ordner gibt der "%ProgramFiles%" heisst geht es auch nicht..., ist das ein scheiss :(....sollte %ProgramFiles% nicht den programmpfad repräsentieren?
ShellExecute(Handle, 'open', 'C:\%ProgramFiles%\Internet Explorer\IExplore.exe','www.delphipraxis.net',nil,SW_SHOW);
|
Re: Programmpath
Was Du da versuchst ist völliger Unfug! Begründung:
1) ProgramFiles enthält das Laufwerk. 2) Nicht alle Windowsinstallationen befinden sich auf C: (meine nicht) 3) Der IE befindet sich auch nicht zwangsweise im Pfad %ProgramFiles%\Internet Explorer (meiner leider nicht, auch nicht wenn das Laufwerk korrekt wäre). 4) Den IE startet man einfach so
Delphi-Quellcode:
5) Als Opera-User versicher ich Dir: Dein Programm auf mein Rechner: Nein danke.
ShellExecute(Handle, 'open', 'IExplore','www.delphipraxis.net',nil,SW_SHOW);
6) Der aktuell genutzte Browser kann über die Reg ausgelesen werden. Verknüpfung mit http, html ... 7) Eigentlich reicht auch
Delphi-Quellcode:
ShellExecute(Handle, 'open', 'www.delphipraxis.net',nil,nil,SW_SHOW);
|
Re: Programmpath
hi, ich möchte aber das ein neues IE fenster geöffnet wird.
BEi deinem code wird eine alte seite durch die neue ersetzt (mit opennew ging es nicht) |
Re: Programmpath
Dann nimm die Lösung von Punkt vier und hefte für Opera-User (etc.) ein Warnhinweis auf die Verpackung.
|
Re: Programmpath
danke, das ging 8)
|
Re: Programmpath
Nur der Komplettheit halber:
Den Programm Files Ordner bekommt man durch
Code:
%ProgramFiles%
|
Re: Programmpath
jo, den wollte ich auch, aber wenn ich den in einen path anfügr funktioniert es nicht
|
Re: Programmpath
Zitat:
Zitat:
|
Re: Programmpath
hoi, jo das hätt ich auch verwendet, nur das sich da immer ne alte seite aktualisiert hat statt das eine neue kam
|
Re: Programmpath
Du sollst den aktuell installierten Browser in der Reg ermitteln. Im Ergebnis hättest Du dann den passenden Aufruf.
|
Re: Programmpath
hm, wo steht der da?
|
Re: Programmpath
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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