Auf Betriebssystem von Win 2000 oder später (jede Sprache) kann ich davon ausgehen, dass dieser Pfad immer existiert? Zum Beispiel weiß ich, dass auf Win XP in einigen Sprachen das Verzeichnis "Programme" einen anderen Namen hat. Stimmt das für den Ordner System32?
Danke. Ohad.
Sie können definitiv nicht davon ausgehen, dass Windows auf einem anderen Laufwerksbuchstaben oder in einem anderen Verzeichnis installiert werden könnte. Bei einer früheren Arbeit wurde PC beispielsweise in D: \ WINNT installiert.
Die kurze Antwort besteht darin, den API-Aufruf GetSystemDirectory () zu verwenden, der den Pfad zurückgibt, nach dem Sie suchen.
Die längere Antwort ist zu fragen: Musst du das wirklich wissen? Wenn Sie damit Dateien in das Windows-Verzeichnis kopieren, sollten Sie nachfragen, ob Sie das wirklich tun möchten. Das Kopieren in das Windows-Verzeichnis wird nicht empfohlen, da Sie andere Anwendungen sehr leicht durcheinander bringen können. Wenn Sie den Pfad verwenden, um DLLs zu finden, warum verlassen Sie sich nicht einfach auf das Betriebssystem, um das richtige zu finden, ohne einen Pfad anzugeben? Wenn Sie sich mit den Betriebssystemdateien beschäftigen, bedenken Sie: Wird das in Zukunft funktionieren? Im Allgemeinen ist es besser, nicht explizit im Windows-Verzeichnis herumzustöbern, wenn Sie möchten, dass Ihr Programm in zukünftigen Windows-Versionen funktioniert.
Windows kann auf einer anderen Festplatte und / oder in einem anderen Ordner installiert werden. Verwenden Sie die Umgebungsvariablen% windir% oder% systemroot%, um Sie zum Windows-Ordner zu bringen und system32 anzufügen. Oder verwenden Sie die% path% Variable, es ist normalerweise der erste Eingang und die bevorzugte Methode für die Suche nach Dateien wie dlls AFAIK. Laut Kommentar: Verlassen Sie sich nicht zu sehr darauf, dass das system32-Verzeichnis das erste Element ist. Ich denke aber, es ist sicher anzunehmen, dass es irgendwo in% path% ist.
Es ist möglicherweise sicherer, die Umgebungsvariable "windir" zu verwenden und dann "System32" an das Ende dieses Pfades anzuhängen. Manchmal können sich Fenster in einem anderen Ordner oder einem anderen Laufwerk befinden, so dass "windir" Ihnen sagen wird, wo es ist.
Soweit ich weiß, sollte sich der Ordner system32 immer unter dem Windows-Ordner befinden.
Nur ein Hinweis, aber GetWindowsDirectory () kann in einer Terminal Server-Umgebung (z. B. Citrix) einen eindeutigen Pfad für einen Remote-Benutzer zurückgeben.
Da immer mehr Unternehmen virtualisierte Desktops verwenden, müssen Entwickler dies berücksichtigen.
Tags und Links windows operating-system