广西正久职业学校
 广西正久职业学校欢迎您的到来!域名:http://www.gxzjzx.net 今天是:    | 加入收藏 | 设为首页

您现在所在的位置:首页 >>校园动态 >> 文章内容
如何用VFP操作注册表
双击自动滚屏
文章来源:互联网   发布者:admin   发布时间:2014-5-18 23:41:13   阅读:4585
FUNCTION  registry 
        PARAMETERS    nReg_code,;&&操作代码,0-创建子键,1-写注册表,2-读注册表,3-删除注册表项 
        nReg_MainKeyNo,;           &&注册表主键序号 
        cReg_skey,;                  &&子键 
        cReg_skey_New,;             &&需创建的子键 
        cReg_skeyname,;             &&注册表项 
        cReg_keyvalue,;             &&注册表项的值 
        nReg_ValueType               &&注册表项的值的类型,1-数据串,2-Unicode  串,3-二进制,4-32-位数值 
        ON  ERROR  RETURN  .f. 
        LOCAL  nDisposition,; 
        lnResult,;         &&要取得值的注册表子项的地址 
        nResult,; 
        ReturnValue,;      &&返回的注册表值 
        nKeyLength,;        &&要写的值的长度 
        BUFFER,;             &&返回注册表项值 
        BufferSize,;        &&返回值的长度 
        lnError,;           &&返回注册表函数的错误代码 
        nError,;             &&返回的错误代码 
        skey1,skey2 
 
        IF  !BETWEEN(nReg_MainKeyNo,1,4) 
                 RETURN  .F. 
        ENDIF 
 
        IF  nReg_code=1  AND  !BETWEEN(nReg_ValueType,1,4) 
                 RETURN  .F. 
        ENDIF 
        nReg_MainKeyNo=nReg_MainKeyNo-2147483649 
        *注册表键值访问权限 
        #DEFINE  KEY_ALL_ACCESS                    983103                 &&所有权限 
 
        DECLARE  INTEGER  RegOpenKeyEx  IN  Win32API  ; 
        INTEGER  nKey,; 
        STRING  @cSubKey,  ; 
        INTEGER  nReserved,; 
        INTEGER  nAccessMask,; 
        INTEGER  @nResult 
 
        DECLARE  INTEGER  RegQueryValueEx  IN  Win32API; 
        INTEGER  nKey,  ; 
        STRING  cValueName,  ; 
        INTEGER  nReserved,; 
        INTEGER  @nType,  ; 
        STRING  @cBuffer,  ; 
        INTEGER  @nBufferSize 
 
        DECLARE  RegCreateKeyEx  IN  WIN32API; 
        INTEGER  hKey,;                          &&一个打开项的句柄,或者一个标准项名 
        STRING  lpSubKey,;                    &&欲创建的新子项的名字 
        INTEGER  Reserved,;                  &&设为零 
        STRING  lpClass,;                      &&项的类名 
        INTEGER  dwOptions,;                &&零,这个项不正式保存下来,系统重新启动后会消失 
        INTEGER  samDesired,;                 &&访问权限 
        INTEGER  lpSecurityAttributes,;&&对这个项的安全特性进行描述的一个结构,零 
        INTEGER  @phkResult,;                 &&指定用于装载新子项句柄的一个变量 
        INTEGER  @lpdwDisposition         &&返回是新建子项,还是打开子项(如果新建的子项存在) 
 
        DECLARE  RegDeleteKey  IN  WIN32API; 
        INTEGER  hKey,; 
        STRING  lpSubKey 
 
        DECLARE  INTEGER  RegCloseKey  IN  Win32API  INTEGER  nKey 
 
        DECLARE  INTEGER  RegSetValueEx  IN  Win32API; 
        INTEGER  hKey,; 
        STRING  lpValueName,; 
        INTEGER  Reserved,; 
        INTEGER  dwType,; 
        STRING    lpData,; 
        INTEGER  cbData 
 
        DO  CASE 
                 CASE  nReg_code=0          &&创建子建 
                          nResult=  0 
                          nDisposition  =  0 
                          nError  =  RegOpenKeyEx(nReg_MainKeyNo,cReg_sKey,0,  KEY_ALL_ACCESS,  @nResult) 
                          IF  nError#0 
                                   MESSAGEBOX('Can`t  open  the  sub_key!',0+48,'INF') 
                                   RETURN  .F. 
                          ENDIF 
                          nError=RegCreateKeyEx(nResult,cReg_sKey_New,0,'nReg_ValueType',0,KEY_ALL_ACCESS,0,@lnResult,@nDisposition) 
                          =RegCloseKey(nResult) 
                          RETURN  nError 
                 *********************************** 
                 CASE  nReg_code=1    &&写注册表 
                          nError=0 
                          nError  =RegOpenKeyEx(nReg_MainKeyNo,cReg_sKey,  0,KEY_ALL_ACCESS,  @lnResult) 
                          IF  nError#0 
                                   MESSAGEBOX('Can`t  write  the  sub_key!',0+48,'INF') 
                                   RETURN  .F. 
                          ENDIF 
                          nKeyLength=LEN(cReg_KeyValue) 
                          nError=RegSetValueEx(lnResult,cReg_sKeyName,0,nReg_ValueType,  @cReg_KeyValue,  @nKeyLength) 
                          =RegCloseKey(lnResult) 
                          RETURN  nError=0 
                 *********************************** 
                 CASE  nReg_code=2           &&读注册表 
                          ReturnValue  = 

[1] [2]  下一页


【 字体: 打印本页 | 关闭窗口
 
  下一篇文章:VFP运行库清单
 本文的地址是: http://www.gxzjzx.net/onews.asp?id=106  转载请注明出处!
 站内搜索
 最新推荐
图片新闻
十八而至担
图片新闻
青春志愿行
1  十八而至担重任 高考拼搏铸…
2  青春志愿行 建功新征程——…
3  广西正久职业学校关于非官方…
4  正久健儿展风采 体育赛场创…
5  广西正久职业学校职业教育质…
6  赓续红色血脉,立志技能报国…
7  正久育英才 体艺展风华——…
8  2025年广西正久职业学校…
9  广西正久职业学校收费公示
10  2025年钦州市职业院校教…
 热门新闻
图片新闻
十八而至担
图片新闻
青春志愿行
  CAD技巧 120个 绝… 43454
  广西正久职业学校中等职业… 18941
  常用英语名词之二 18428
  广西正久职业学校2018… 15895
  广西正久职业学校2017… 15764
  全国计算机等级考试二级笔… 13004
  中等职业学校德育教育 12849
  校园趣事 11708
  广西国际商务职业技术学院… 11578
  电子设备中电路板布局、布… 11133
广西正久职业学校
  |设为首页 | 收藏本站 | 咨询留言 | 联系我们 | 友情链接 |
广西正久职业学校页面执行时间:53.342毫秒    备案号:桂ICP备20002313号-1   技术支持QQ:1759177897