文章作者 100test 发表时间 2007:10:10 11:23:18
来源 100Test.Com百考试题网
* 各主键与一个整数(INTEGER)值相对应,即: #DEFINE HKEY_CLASSES_ROOT bitset(0,31) &.&.-2147483648 #DEFINE HKEY_CURRENT_USER bitset(0,31) 1 &.&.-2147483647 #DEFINE HKEY_LOCAL_MACHINE bitset(0,31) 2 &.&.-2147483646 #DEFINE HKEY_USER bitset(0,31) 3 &.&.-2147483645 #DEFINE HKEY_CURRENT_CONFIG bitset(0,31) 5 &.&.-2147483643 #DEFINE HKEY_DYN_DATA bitset(0,31) 6 &.&.-2147483642 * 键值的数据类型:1-字符串,3-二进制,4-整数 #DEFINE REG_SZ 1 #DEFINE REG_BINARY 3 #DEFINE REG_DWORD 4 * 当以下API函数返回0时,操作成功。 DECLARE Integer RegOpenKey IN Win32API . Integer nHKey, String @cSubKey, Integer @nResult DECLARE Integer RegCreateKey IN Win32API . Integer nHKey, String @cSubKey, Integer @nResult DECLARE Integer RegSetValueEx IN Win32API . Integer hKey, String lpszValueName, Integer dwReserved,. Integer fdwType, String lpbData, Integer cbData DECLARE Integer RegQueryValueEx IN Win32API . Integer nHKey, String lpszValueName, Integer dwReserved,. Integer @lpdwType,string @lpbData, Integer @lpcbData * DECLARE Integer RegDeleteKey IN Win32API . * Integer nHKey, String @cSubKey * DECLARE Integer RegDeleteValue IN Win32API . * Integer nHKey, String cSubKey * DECLARE Integer RegCloseKey IN Win32API . * Integer nHKey csubkey= Software\lytapp nresult=0 if regopenkey(HKEY_CURRENT_USER,@csubkey,@nresult)#0 RegCreateKey(HKEY_CURRENT_USER,csubkey,@nresult) endif * 在nresult中存放了指向子键“HKEY_CURRENT_USER\Software\lytapp”的长整数值 lpdwtype=0 lpbdata=space(256) lpcbdata=len(lpbdata) if RegQueryValueEx(nresult, TimesForUse ,0,@lpdwtype,@lpbdata,@lpcbdata)=0 do case case lpdwtype=REG_SZ lpbdata=left(lpbdata,lpcbdata-1) if val(lpbdata)<12 lpbdata=alltrim(str(val(lpbdata) 1)) messagebox( 本程序在未注册之前只能使用12次! CHR(13) 您现在是第 . lpbdata 次使用本程序。 ) lpbdata=lpbdata chr(0) cbdata=len(lpbdata) RegSetValueEx(nresult, TimesForUse ,0,REG_SZ,lpbdata,cbdata) else messagebox(" 程序已过期作废!" CHR(13) " 请与作者联系注册事宜。") endif case lpdwtype=REG_BINARY messagebox( 该键值为二进制数据。 ) case lpdwtype=REG_DWORD messagebox( 该键值为长整数数据,请用 NN=0 CHR(13) for i=1 to 4 CHR(13) . |