標籤:
以前曾用 GetWindowsDirectory、GetSystemDirectory、GetTempPath 等函數擷取系統熱門檔案夾;
也用過 SHGetSpecialFolderLocation、SHGetPathFromIDList 函數擷取過更多常用路徑;
但這都不如用 GetEnvironmentVariable 擷取系統變數來得快.
//譬如 %WINDIR% 是表示系統目錄的系統變數, 可以這樣擷取:var s: string;begin s := GetEnvironmentVariable(‘WINDIR‘); ShowMessage(s); {C:\WINDOWS}end;
%WINDIR% {系統目錄 - C:\WINDOWS}%SYSTEMROOT% {系統目錄 - C:\WINDOWS}%SYSTEMDRIVE% {系統根目錄 - C:}%HOMEDRIVE% {目前使用者根目錄 - C:}%USERPROFILE% {目前使用者目錄 - C:\Documents and Settings\wy}%HOMEPATH% {目前使用者路徑 - \Documents and Settings\wy}%TMP% {目前使用者臨時檔案夾 - C:\DOCUME~1\wy\LOCALS~1\Temp}%TEMP% {目前使用者臨時檔案夾 - C:\DOCUME~1\wy\LOCALS~1\Temp}%APPDATA% {目前使用者資料檔案夾 - C:\Documents and Settings\wy\Application Data}%PROGRAMFILES% {程式預設安裝目錄 - C:\Program Files}%COMMONPROGRAMFILES% {檔案通用目錄 - C:\Program Files\Common Files}%USERNAME% {目前使用者名 - wy}%ALLUSERSPROFILE% {所有使用者檔案目錄 - C:\Documents and Settings\All Users}%OS% {作業系統名 - Windows_NT}%COMPUTERNAME% {電腦名稱 - IBM-B63851E95C9}%NUMBER_OF_PROCESSORS% {處理器個數 - 1}%PROCESSOR_ARCHITECTURE% {處理器晶片架構 - x86}%PROCESSOR_LEVEL% {處理器型號 - 6}%PROCESSOR_REVISION% {處理器修訂編號 - 0905}%USERDOMAIN% {包含使用者帳號的域 - IBM-B63851E95C9}%COMSPEC% {C:\WINDOWS\system32\cmd.exe}%PATHEXT% {執行檔案類型 - .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.pyo;.pyc;.py;.pyw}%PATH% {搜尋路徑}
另外, 可以利用 .. 到上層目錄, 如:
var s: string;begin s := GetCurrentDir; ShowMessage(s); {C:\Documents and Settings\wy\My Documents\RAD Studio\Projects} SetCurrentDir(‘..‘); s := GetCurrentDir; ShowMessage(s); {C:\Documents and Settings\wy\My Documents\RAD Studio} SetCurrentDir(‘..\..‘); s := GetCurrentDir; ShowMessage(s); {C:\Documents and Settings\wy}end;
[轉]用 GetEnvironmentVariable 擷取常用系統內容變數