| 
				 3.4为表单添加方法MyReadRegistryString 
用于读取指定的键值,程序代码如下: 
LPARAMETERS HKey,subkey,entry 
LOCAL nHandle,bs,nBuffersize,cDataBuffer,nType 
nHandle=0 
bs=RegOpenKey(HKey,subkey,@nHandle) 
IF BS#ERRORXX 
   RETURN .NULL. 
ENDIF 
DECLARE INTEGER RegQueryValueEx IN Win32API INTEGER nhkey,STRING ; 
LPSZVALUENAME,INTEGER dwreserved,INTEGER @LPDWTYPE,STRING @LPBDATA,; 
INTEGER @LPCBDATA 
cdatabuffer=SPACE(256) 
nbuffersize=LEN(cdatabuffer) 
NTYPE=1 
BS=RegQueryValueEx(nhandle,entry,0,@ntype,@cdatabuffer,@nbuffersize) 
=RegcloseKey(nhandle) 
IF BS#ERRORXX 
   RETURN "" 
ENDIF 
IF nbuffersize<2 
RETURN "" 
ENDIF 
RETURN SUBSTR(CHRTRAN(cdatabuffer,CHR(0)," "),1,nbuffersize) 
  
4 运行结果 
按照上面的方法将程序代码输入后,运行这个表单,第一次使用时将在注册表中生成一个子键和赋值后,系统每次进入时读取子键的数据值并进行减1操作,然后提示本系统还可以使用的次数,多次运行表单到设定的次数时,程序将不可使用。以上对在VFP系统中使用次数进行限制功能提出了具体实现的方法,这里只是提供了简单的思路,没有考虑容错性,有兴趣的读者不妨一试。 
  
参考文献 
  
[1] 张洪举.专家门诊—Visual Foxpro开发答疑160问[M].北京:人民邮电出版社,2004. 			
				 |