?? read_reg_pw.prg
字號:
func read_reg_pw
para isManage
*開啟機碼
DECLARE INTEGER RegOpenKey IN Win32API INTEGER nHKey,STRING cSubKey, INTEGER @nHandle
*建立機碼
DECLARE INTEGER RegCreateKey IN Win32API INTEGER nHKey,STRING cSubKey, INTEGER @nHandle
*關(guān)閉開啟的機碼
DECLARE INTEGER RegCloseKey IN Win32API INTEGER nHKey
*刪除機碼
DECLARE INTEGER RegDeleteKey IN Win32API INTEGER nHKEY,STRING cSubkey
*刪除某一機碼下的值
DECLARE INTEGER RegDeleteValue IN Win32API INTEGER nHKEY,STRING cEntry
#DEFINE HKEY_CLASSES_ROOT -2147483648
#DEFINE HKEY_CURRENT_USER -2147483647
#DEFINE HKEY_LOCAL_MACHINE -2147483646
#DEFINE HKEY_USERS -2147483645
#DEFINE ERROR_SUCCESS 0
if isManage
retu ReadRegistryString(HKEY_LOCAL_MACHINE,"SOFTWARE\紅虎工作室\yzkh","sapw")
else
retu ReadRegistryString(HKEY_LOCAL_MACHINE,"SOFTWARE\紅虎工作室\yzkh","khpw")
endif
**************************************************
*** 讀取字串值 ReadRegistryString
*** 傳回值:字串或.NULL.表無此機碼
**************************************************
FUNCTION ReadRegistryString
LPARAMETERS HKey, Subkey, Entry
LOCAL nHandle, nResult, nBufferSize, cDataBuffer, nType
nHandle=0
*開啟機碼
nResult=RegOpenKey(HKey,SubKey,@nHandle)
IF nResult#ERROR_SUCCESS
RETURN .NULL.
ENDIF
* 使用RegQueryValueEx決定資料型態(tài)
DECLARE INTEGER RegQueryValueEx IN Win32API ;
INTEGER nHKey,STRING lpszValueName,INTEGER dwReserved,INTEGER @lpdwType, STRING @lpbData, INTEGER @lpcbData
*將值傳回 buffer
cDataBuffer=SPACE(256)
nBufferSize=LEN(cDataBuffer)
nType=1
nResult= RegQueryValueEx(nHandle,Entry,0,@nType,@cDataBuffer,@nBufferSize)
=RegCloseKey(nHandle)
IF nResult#ERROR_SUCCESS
RETURN .NULL.
ENDIF
IF nBufferSize <2
RETURN ""
* 空字串
ENDIF
*去除空白字元及字串後的 NULL
RETURN SUBSTR(CHRTRAN(cDataBuffer,CHR(0),""),1,nBufferSize)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -