函數名: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)