2013年6月16日 星期日

REG_SZ、REG_MULTI_SZ與REG_EXPAND_SZ的區別

近期為了修改Winpe的Registry,常弄錯REG_SZ、REG_MULTI_SZ與REG_EXPAND_SZ的意義,特別整理了一下,以便未來複習。

REG_SZ:字串值。
REG_MULTI_SZ:多字串值。
REG_EXPAND_SZ:可擴充字串值。

REG_SZ 可以儲存一個普通的字串。如果該字串保存的是檔路徑,而路徑中帶有環境變量,如%SystemRoot%,則系統無法找到這個路徑。
REG_SZ格式為:文字文字文字文字文字文字文字文字Chr(0)

REG_MULTI_SZ 可以儲存多行字串,但是不支援環境變量。多行字串值可以包含多個零結尾的(\0)普通字串REG_SZ。
REG_MULTI_SZ格式為:第一行文字Chr(0)第二行文字Chr(0)第N行文字Chr(0)最後一行文字Chr(0)Chr(0)

REG_EXPAND_SZ 與REG_SZ的區別就是可以自動展開環境變量。
例如在一個REG_EXPAND_SZ值中使用%SystemRoot%,系統讀取時會展開為當前Windows 路徑,如C:\WINDOWS。

沒有留言:

張貼留言