VB聲明,說明,參數說明,返回值,參數 類型及說明,註解,
VB聲明
Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long
說明
先說一點,在32位系統下推薦使用RegEnumKeyEx等這些後綴為Ex的函式
1.使用RegOpenKeyEx打開需要進行枚舉的項名,如果成功,則進行下一步
2.使用RegEnumKeyEx進行枚舉.
Declare Function RegEnumKeyEx Lib "advapi32.dll " Alias "RegEnumKeyExA " (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As FILETIME) As Long
參數說明
hKey:一個已經打開項的句柄(從RegOpenKeyEx中得到),或者指定一個標準項名
dwIndex:欲獲取的子項的索引.從0開始.
lpName:用於裝載指定索引處項名的緩衝區.lpcbName:指定一個變數,用於裝載lpName緩衝區的實際長度.返回後會設為實際裝載到lpName緩衝區中的字元數量.
注意其空間要給夠.可以這樣來初始化緩衝區
dim strKey AS string
dim lngKeyLength AS long
lngKeyLength=2048
strKey=String(lngKeyLength,0)
調用後如果成功,使用Left$(strKey,lngKeyLength)取得子項名
lpReserved:保留,設為0即可
lpClass:項使用的類名,可以設為vbNullString
lpcbClass:指定一個變數,用於裝載lpClass緩衝區的實際長度.返回後會設為實際裝載到lpClass緩衝區中的字元數量.
lpftLastWriteTime:上一次修改時間.
返回0表示成功
可以在一個循環體內調用該函式,每次調用令dwIndex加一以取得下一子項
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一個錯誤代碼
參數 類型及說明
hKey Long,一個已打開項的句柄,或者指定一個標準項名
dwIndex Long,欲獲取的子項的索引。第一個子項的索引編號為零
lpName String,用於裝載指定索引處項名的一個緩衝區
cbName Long,lpName緩衝區的長度
註解
用RegQueryInfoKey判斷容納最長那個項所需的緩衝區長度