'****************************注册表操作函数**********************
'声明:以下代码由轻风工作室REDICE编写,引用时请作一说明。
'****************************************************************

'*****下面先声明一些常量******************************************
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_DYN_DATA = &H80000006
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const REG_OPTION_NON_VOLATILE = 0
Public Const KEY_ALL_ACCESS = (&H20000 Or &H1 Or &H2 Or &H4 Or &H8 Or &H10 Or &H20) And (Not &H100000)
Public Const REG_SZ = 1
Public Const REG_DWORD = 4
'*****************************************************************

'*****下面声明注册表操作中用到的API函数****************************
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal uloptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long
Public Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
'*****************************************************************

'*****下面是我自己写的一些注册表操作中常用的一些函数**************
'*****新键注册表项
Public Function createnewkey(ip As Long, snewkeyname As String)
     Dim hnewkey As Long
     Dim retval As Long
     retval = RegCreateKey(ip, snewkeyname, hnewkey)
     If retval = 0 Then
       RegCloseKey (hnewkey)   '关闭上面建立或打开的项
     End If
End Function
'实例:在HKEY_CURRENT_USER下建立项"xiaopeng"
'代码为 createnewkey HKEY_CURRENT_USER ,"xiaopeng"
'******************************************************************

'*******删除注册表项***********************************************
Public Function deletekey(ip As Long, skeyname As String)
     Dim hKey As Long
     Dim retval As Long
     retval = RegOpenKeyEx(ip, skeyname, 0, KEY_ALL_ACCESS, hKey)
     If retval = 0 Then
       RegDeleteKey ip, skeyname
     End If
End Function
'实例:删除上面建立的HKEY_CURRENT_USER下的项"xiaopeng"
'代码为 deletekey HKEY_CURRENT_USER ,"xiaopeng"
'******************************************************************

'********新建,设置数值名称*****************************************
Public Function setkeyvalue(ByVal ip As Long, ByVal keyname As String, ByVal valuename As String, ByVal valuesetting As Variant, ByVal valuetype As Long)
     Dim retval As Long
     Dim hKey As Long
     If RegOpenKeyEx(ip, keyname, 0, KEY_ALL_ACCESS, hKey) > 0 Then Exit Function
     Select Case valuetype
           Case REG_SZ
             RegSetValueExString hKey, valuename, 0&, REG_SZ, valuesetting, Len(valuesetting)
           Case REG_DWORD
             RegSetValueExLong hKey, valuename, 0, valuetype, valuesetting, 4
     End Select
     RegCloseKey (hKey)
End Function
'实例:在HKEY_CURRENT_USER下的项"xiaopeng"中建立名为"redice",键值为"is xiaopeng",类型为REG_SZ的新键
'代码为 setkeyvalue HKEY_CURRENT_USER ,"xiaopeng" ,"redice","is xiaopeng",REG_SZ
'又如:在HKEY_CURRENT_USER下的项"xiaopeng"中建立名为"ceshi",键值为2,类型为REG_DWORD的新键
'代码为"setkeyvalue HKEY_CURRENT_USER,"xiaopeng","ceshi",2,REG_DWORD
'******************************************************************

'*********删除数值名称*********************************************
Public Function deletevalue(ByVal ip As Long, ByVal keyname As String, ByVal valuename As String)
     Dim retval As Long
     Dim hKey As Long
     retval = RegOpenKeyEx(ip, keyname, 0, KEY_ALL_ACCESS, hKey)
     If retval > 0 Then
         Exit Function
     End If
     RegDeleteValue hKey, valuename
     RegCloseKey hKey
End Function
'实例:删除HKEY_CURRENT_USER下的项"xiaopeng"中名为"redice"的新键
'代码为 deletevalue HKEY_CURRENT_USER ,"xiaopeng","redice"
'******************************************************************
'**********查询已存在的数值内容************************************
Public Function getvalue(ByVal ip As Long, keyname As String, valuename As String) As String
     Dim retval As Long
     Dim hKey As Long
     Dim valuesetting As Variant
     Dim cddata As Long
     Dim lvalue As Long
     Dim svalue As String
     Dim lvaluetye As Long
     retval = RegOpenKeyEx(ip, keyname, 0, KEY_ALL_ACCESS, hKey)
     If retval > 0 Then
       getvalue = ""
       Exit Function
     End If
     retval = RegQueryValueEx(hKey, valuename, 0, lvaluetype, ByVal VBNullString, cddata)
     If retval <> 0 Then
       RegCloseKey hKey
       Exit Function
     End If
     Select Case lvaluetype
           Case REG_SZ
                 svalue = String(cddata, Chr(0))
                 RegQueryValueEx hKey, valuename, 0, lvaluetype, ByVal svalue, cddata
                 valuesetting = Left$(svalue, cddata)
                 getvalue = CStr(valuesetting)
           Case REG_DWORD
                 RegQueryValueEx hKey, valuename, 0, lvaluetype, lvalue, cddata
                 valuesetting = lvalue
                 getvalue = CStr(valuesetting)
     End Select
End Function
'实例:获取HKEY_CURRENT_USER下的项"xiaopeng"中名为"redice"的新键的键值
'代码为 getvalue HKEY_CURRENT_USER ,"xiaopeng","redice"
'*********************************************************************

摘自:网络整理


相关文章参考:


★VB查找替代字符串的函数

★VB换行气泡提示类

★VB/VBA通用路径选择对话框

★ASCII码表0-255完整版 附详细注释

★VB的KeyAscii

★VB取得TextBox、RichTextBox光标所在的行和列(支持汉字)

★VB取得TextBox、RichTextBox光标所在的行和列(支持汉字)

★VB如何实现Undo(撤消)功能

★VB计算文本文件的行数

★VB获取快捷方式原文件路径

★微软 Small Basic 简体中文版 已经发布了

★VB操作Excel 非常详细 [网摘]

★VB如何判断文件正被占用/已被打开

★VB添加listbox 的水平卷动轴

★VB打开资源管理器并指定文件

★VB根据窗体自动调整窗体内控件大小 注:实用,可以直接引用

★VB中的指针技术

★Visual Basic编程常见问题及解答(1)

★Visual Basic编程常见问题及解答(2)

★Visual Basic编程常见问题及解答(3)

★VisualBasic变量、常数和数据类型及过程概述

★VB6的后期绑定和前期绑定

★VB用户控件制作讲解与实例

★VB制作OCX控件的步骤

★VB中FSO的调用的两种方法

★用VB操作EXCEL

★VB判断文件及目录的存在性

★VB网站(最新、经典源代码、技术文章、基础知识)

★VB得到指定文件夹下的文件列表

★用VB产生随机任意大小文件挤满硬盘

★VB文件的读写操作

★VB创建超链接 打开指定网站的几种方法

★VB 源码 删除重复行程序 函数

★VB 计算自己程序段所用时间

★VB 获取路径名各部分 (获取文件路径,获取文件名,获取文件扩展名)自编

★几行VB代码拿下注册表

★VB 在浏览器中打开指定网址

★VB窗口置顶

★vb在 ListBox 之中点击右键弹出菜单

更多精彩>>>

几行VB代码拿下注册表相关推荐

  1. php怎么创建表命令行,laravel使用命令行结合代码创建数据表的方法

    laravel使用命令行结合代码创建数据表的方法 发布时间:2021-01-19 10:12:17 来源:亿速云 阅读:91 作者:小新 这篇文章主要介绍laravel使用命令行结合代码创建数据表的方 ...

  2. BAT批处理代码快速打开注册表并定位到指定目录

    主要代码: @echo off echo %1 copy %~nx0 c:\windows\system32 if "%1" NEQ "" (set regPa ...

  3. java代码操作注册表,java操作注册表范例代码

    java操作注册表实例代码 以下代码的作用是读取USB设备: package org.yangzc.reglistener; import com.ice.jni.registry.Registry; ...

  4. cmd命令行下常见的注册表操作

    基础知识 注册表的五个根建 hkey classes root,里面存储着应用程序启动所需要的所有信息,有扩展名,启动对应扩展名文件所需要的程序等. HKCU hkey current user,存储 ...

  5. 使用vb调用api注册表

    2019独角兽企业重金招聘Python工程师标准>>> 有时候我们需要读取某个Key下的所有名称的值,找到特定的或者全部名称的值以作它用,比如我在编写清除著名的"木马冰河& ...

  6. Unity通过代码修改注册表。

    读:读取的注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下的XXX目录中名称为name的注册表值: private string GetRegistData(string name ...

  7. vb修改注册表!!调用WSH实现

    vb修改注册表!!调用WSH实现!!!!! [旭发飘扬 发表于 2007-3-5 下午 12:30:04]   在VB中,注册表的读写,可以用自身的SaveSetting.GetSetting函数,但 ...

  8. 恶意代码修改IE和注册表恢复全集

    阻止恶意代码修改注册表: 1.大部分的恶意代码只对IE5.0版本有效,所以将IE升级到6.0,并及时下载打上补丁! 下载安装微软WSH最新版,好像是5.6版! 2.安装最新的杀毒软件,打开实时监控保护 ...

  9. [实用资料系列]注册表技术大全「五注册表优化全攻略」

    防止匿名用户登录 虽然"Windows 98"可以为每个用户定制各自的使用界面并指定口令,但任何人都能通过点击登录窗口中的"取消"或按"ESC&quo ...

最新文章

  1. 抖音发布特效数据报告:每五个投稿有一个使用特效
  2. 瞭望丨光子芯片能否让中国“换道超车”
  3. 张旭豪:外卖概念的三点进化
  4. 有点长的 Java API 设计清单
  5. 拒绝“肌肉记忆”,卡萨帝迈进场景品牌新赛道
  6. SolrCloud6.1.0之SQL查询测试
  7. 《leetcode》first-missing-positive
  8. jsp页面javascript没反应
  9. net.sf.ezmorph.bean.MorphDynaBean cannot be cast to com.console.demo.web.model.XXX
  10. 设置php缓存失效,PHP使用Memcache时模拟命名空间及缓存失效问题的解决
  11. 区分IE6,IE7,firefox三种浏览器的CSS HACK
  12. 中专计算机应用完整教学计划,中职生教学计划
  13. debian下apr-get isntall 出错提示用apt-get -f install问题
  14. 【事件驱动】【蓝牙控制车锁或电灯】初步方案
  15. CISP 考试教材《第 7 章 知识域:信息安全支撑技术》知识整理
  16. 爬取天天基金排行榜上的基金信息
  17. vue中使用vue-waterfall2来实现瀑布流
  18. 计算机录屏幕和声音的软件是什么,怎么样录制电脑的屏幕和声音?可以进行电脑录像的软件|录制电脑屏幕的方法...
  19. 课题:修改ssh的访问端口
  20. CF 1129 A,B

热门文章

  1. 百度全面开放搜索流量,进击的智能小程序!
  2. UCan下午茶杭州站:突破困惑,为大数据商业化变现探寻出路
  3. 小米入局区块链,究竟是为了什么?
  4. 12306 被质疑过度获取用户隐私,不授权还买不了票
  5. zabbix监控nginx连接数
  6. 关系到了冰点_VIP090:关系到了冰点
  7. 计算机仿真实训操作开车步骤,计算机仿真上机实训指导书.doc
  8. java同步三线程打印abc_java多线程打印ABC
  9. python获取请求中的参数_python – 在Tastypie中获取请求参数
  10. project facets中没有dynamic_C++强制类型转换操作符 dynamic_cast