註冊資訊檔工具模組

取得註冊資訊檔之內容
私有剖析檔工具模組
取得 Windows 的目錄名

取得註冊資訊檔之內容

函數名:myRegQueryValue

說明:取得註冊資訊檔機碼的內容,若為機碼的目錄名,則傳回預設值,這個函數目前只支援字串

引數 類型 說明
lpstrRegKey 必要 機碼完整名稱

範例:

引數 傳回值
"HKEY_CLASSES_ROOT\.zip" WinZip
"HKEY_CLASSES_ROOT\.zip\" WinZip
"HKEY_CLASSES_ROOT\.zip\Content Type" application/x-zip-compressed

取得 Windows 的目錄名

函數名:myGetWindowsDirectory

說明:取得 Windows 的目錄名,不需引數

範例:

Debug.Print myGetWindowsDirectory ' 傳回 C:\WINDOWS

私有剖析檔工具模組

共用的剖析檔 (win.ini, system.ini) 因為不常用,且 Win32 也不再使用,並可與本網頁內函數共用函數碼,因此不打算包裝,僅配合需求進行適當的包裝與說明

共用引數說明:

變數名 變數內容
lpApplicationName 節區名
lpKeyName 項目名
lpDefault 預設值
lpFileName 剖析檔檔案名
nSize 暫存空間大小
wFlags 是否傳回空字串及註解列
lpIniFile 剖析檔內容字串

範例:

[lpApplicationName]
lpKeyName=lpDefault

包裝標準函數:

函數名 函數說明
WritePrivateProfileVal 寫入任何數值到剖析檔
myGetPrivateProfileSection 從剖析檔取得整個節區內容
myGetPrivateProFileString 從剖析檔取得某個節區某個項目的字串
myGetPrivateProFileVal 從剖析檔取得某個節區某個項目的數值
myGetPrivateProFileDate 從剖析檔取得某個節區某個項目的日期格式
myMutiLineGetPrivateProfileSection 從剖析檔取得整個節區內容,並以陣列方式傳回

當剖析檔大於 64 k 時, Windows API 內建函數將無法處理,因此撰寫延伸函數以處理大於 64 k 的情形,當然亦適用於小於 64 k 的剖析檔:

函數名 函數說明
myGetPrivateProfileSectionEx 從剖析檔取得整個節區內容
myGetPrivateProFileStringEx 從剖析檔取得某個節區某個項目的字串
myGetPrivateProFileValEx 從剖析檔取得某個節區某個項目的數值
myMutiLineGetPrivateProfileSectionEx 從剖析檔取得整個節區內容,並以陣列方式傳回

以上延伸函數若連續對同一個檔案處理,用下面的函數可減少一半的時間:

函數名 函數說明
myGetPrivateProFileAll 取得整個剖析檔內容字串
StrGetPrivateProfileSection 從剖析檔內容字串取得整個節區內容
StrGetPrivateProFileString 從剖析檔內容字串取得某個節區某個項目的字串
StrGetPrivateProFileVal 從剖析檔內容字串取得某個節區某個項目的數值
StrMutiLineGetPrivateProfileSection 從剖析檔內容字串取得整個節區內容,並以陣列方式傳回

範例:

IniBuffer = myGetPrivateProFileAll(lpFileName)
tFLine = StrMutiLineGetPrivateProfileSection("Basin", IniBuffer, No_Common + No_NullSpace)