⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read_reg_pw.prg

📁 功能模块:报关操作,运输操作,报关查询,运输查询
💻 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
*关闭开启的机码
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决定资料型态
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)


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -