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

您现在所在的位置:首页 >>校园动态 >> 文章内容
如何用VFP操作注册表
双击自动滚屏
文章来源:互联网   发布者:admin   发布时间:2014-5-18 23:41:13   阅读:3133
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://gxzjzx.net/onews.asp?id=106  转载请注明出处!
 站内搜索
 最新推荐
图片新闻
喜讯:蟾宫
图片新闻
点滴助力暖
1  喜讯:蟾宫折桂,巾帼英姿
2  点滴助力暖人心
3  家校共育鸿鹄志,荔乡少年踏…
4  快讯:正久精神闪耀上海外滩
5  开学典礼展希望 军训汇演强…
6  山映朝阳迎新生,明月楼高共…
7  其利断金,我校全体教职工利…
8  暑假家访,从心出发
9  灵山荔枝文化旅游节 正久…
10  筑牢金融屏障,促进学生成长
 热门新闻
图片新闻
喜讯:蟾宫
图片新闻
点滴助力暖
  CAD技巧 120个 绝… 28390
  常用英语名词之二 13099
  广西正久职业学校中等职业… 10410
  广西国际商务职业技术学院… 9722
  广西正久职业学校2018… 9284
  广西正久职业学校2017… 8960
  全国计算机等级考试二级笔… 8331
  校园趣事 8174
  中等职业学校德育教育 8016
  开学第一课 6634
广西正久职业学校
  |设为首页 | 收藏本站 | 咨询留言 | 联系我们 | 友情链接 |
Copyright 2014-2020 © www.gxzjzx.net. All Right Reserved
Design:广西正久职业学校1
页面执行时间:11.358毫秒    备案号:桂ICP备20002313号-1   技术支持QQ:1759177897