?? _reg.asm
字號:
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming >
; by 羅云彬, http://asm.yeah.net
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; _Reg.asm
; 幾個注冊表操作的公用子程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;
;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 查詢鍵值
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_RegQueryValue proc _lpszKey,_lpszValueName,_lpszValue,_lpdwSize,_lpdwType
local @hKey,@dwReturn
mov @dwReturn,-1
invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,_lpszKey,NULL,\
KEY_QUERY_VALUE,addr @hKey
.if eax == ERROR_SUCCESS
invoke RegQueryValueEx,@hKey,_lpszValueName,NULL,_lpdwType,\
_lpszValue,_lpdwSize
mov @dwReturn,eax
invoke RegCloseKey,@hKey
.endif
mov eax,@dwReturn
ret
_RegQueryValue endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 設置鍵值
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_RegSetValue proc _lpszKey,_lpszValueName,_lpszValue,_dwValueType,_dwSize
local @hKey
invoke RegCreateKey,HKEY_LOCAL_MACHINE,_lpszKey,addr @hKey
.if eax == ERROR_SUCCESS
invoke RegSetValueEx,@hKey,_lpszValueName,NULL,\
_dwValueType,_lpszValue,_dwSize
invoke RegCloseKey,@hKey
.endif
ret
_RegSetValue endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 創建子鍵
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_RegCreateKey proc _lpszKey,_lpszSubKeyName
local @hKey,@hSubkey,@dwDisp
invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,_lpszKey,NULL,\
KEY_CREATE_SUB_KEY,addr @hKey
.if eax == ERROR_SUCCESS
invoke RegCreateKeyEx,@hKey,_lpszSubKeyName,NULL,NULL,\
NULL,NULL,NULL,addr @hSubkey,addr @dwDisp
invoke RegCloseKey,@hKey
invoke RegCloseKey,@hSubkey
.endif
ret
_RegCreateKey endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 刪除鍵值
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_RegDelValue proc _lpszKey,_lpszValueName
local @hKey
invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,_lpszKey,NULL,\
KEY_WRITE,addr @hKey
.if eax == ERROR_SUCCESS
invoke RegDeleteValue,@hKey,_lpszValueName
invoke RegCloseKey,@hKey
.endif
ret
_RegDelValue endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 刪除子鍵
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_RegDelSubKey proc _lpszKey,_lpszSubKeyName
local @hKey
invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,_lpszKey,NULL,\
KEY_WRITE,addr @hKey
.if eax == ERROR_SUCCESS
invoke RegDeleteKey,@hKey,_lpszSubKeyName
invoke RegCloseKey,@hKey
.endif
ret
_RegDelSubKey endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -