Wie man System-Ordner-Pfad(C:\Windows C:\Program Dateien) in Windows mit C++?
Ich bin Programmierung in c++, MFC,
Ich will "C:\windows" "c:\program Dateien" Ordner-Pfad.
Manchmal Benutzer kann setup-Fenster in andere Ordner, wie c:\windows0.
Gibt es eine API zu bekommen, absoluten Pfad zu den windows-und Programm-Dateien Weg?
Vielen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mithilfe von Win32-API - >
Für den Windows-Ordner:
Für Programm-Dateien:
Wo
MAX_PATH
kommt aus der Windows-Header, und garantiert die Puffer ist lang genug für den längsten (nicht-UNC -) Pfad.Beachten Sie auch, dass
SHGetSpecialFolderPath
kann verwendet werden, um andere "spezielle" Ordner, einschließlich der Windows-Ordner einfach durch den Austausch des Dritten parameter für alle aus diesem Liste.GetWindowsDirectory
: http://msdn.microsoft.com/en-us/library/ms724454(VS.85).aspxSHGetSpecialFolderPath
: http://msdn.microsoft.com/en-us/library/bb762204(VS.85).aspxAuf Vista+,
SHGetKnownFolderPath
ist der Ersatz fürSHGetFolderPath
undSHGetSpecialFolderPath
, obwohl Sie können weiterhin verwenden, die älteren Funktionen, wenn Sie brauchen, rückwärts Kompatibilität zu älteren Windows-Versionen.Meisten davon kommen aus SHGetFolderPath, aber GetSystemDirectory() gibt die absolute Lage des C:\Windows\System32. Verwenden Sie nicht GetWindowsDirectory(). Es nicht tut, was Sie will.
Call getenv("%ProgramFiles%") und getenv("%WinDir%")