函數名:myRegQueryValue
說明:取得註冊資訊檔機碼的內容,若為機碼的目錄名,則傳回預設值,這個函數目前只支援字串
引數 | 類型 | 說明 |
lpstrRegKey | 必要 | 機碼完整名稱 |
範例:
引數 | 傳回值 |
"HKEY_CLASSES_ROOT\.zip" | WinZip |
"HKEY_CLASSES_ROOT\.zip\" | WinZip |
"HKEY_CLASSES_ROOT\.zip\Content Type" | application/x-zip-compressed |
函數名: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)