VB对注册表的操作模块

VB6注册表操作:使用纯API类模块 Visual Basic 6.0(VB6)是微软推出的一个面向对象的编程语言,是其Visual Basic系列的最后版本。它为开发者提供了一套简易的集成开发环境(IDE),允许快速开发Windows桌面应用程序。VB6以其易学易用著称,是许多IT从业者的编程入门语言,尽管它已不再是最新技术,但其广泛的普及度和良好的社区支持,使其在某些应用场景中仍然占有一席之地。VB6环境包括:- 代码编辑器:用于编写源代码。- 表单设计器:用于设计应用程序用户界面。 阅读详情

Public Const REG_SZ = 1 ' Unicode nul terminated string
Public Const REG_BINARY = 3 ' Free form binary
Public Const HKEY_CURRENT_USER = &H80000001
Public Const REG_OPTION_BACKUP_RESTORE = 4     ' open for backup or restore
Public Const REG_OPTION_VOLATILE = 1           ' Key is not preserved when system is rebooted
Public Const REG_OPTION_NON_VOLATILE = 0       ' Key is preserved when system is rebooted
Public Const STANDARD_RIGHTS_ALL = &H1F0000
Public Const SYNCHRONIZE = &H100000
Public Const READ_CONTROL = &H20000
Public Const STANDARD_RIGHTS_READ = (READ_CONTROL)
Public Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
Public Const KEY_CREATE_LINK = &H20
Public Const KEY_CREATE_SUB_KEY = &H4
Public Const KEY_ENUMERATE_SUB_KEYS = &H8
Public Const KEY_NOTIFY = &H10
Public Const KEY_QUERY_VALUE = &H1
Public Const KEY_SET_VALUE = &H2
Public Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))
Public Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
Public Const KEY_EXECUTE = (KEY_READ)
Public Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))

Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
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 RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long

Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey 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 RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As Any, phkResult As Long, lpdwDisposition As Long) As Long
Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) 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

Function RegQueryStringValue(ByVal hKey As Long, ByVal strValueName As String) As String
    Dim lResult As Long, lValueType As Long, strBuf As String, lDataBufSize As Long
    'retrieve nformation about the key
    lResult = RegQueryValueEx(hKey, strValueName, 0, lValueType, ByVal 0, lDataBufSize)
    If lResult = 0 Then
        If lValueType = REG_SZ Then
            'Create a buffer
            strBuf = String(lDataBufSize, Chr$(0))
            'retrieve the key's content
            lResult = RegQueryValueEx(hKey, strValueName, 0, 0, ByVal strBuf, lDataBufSize)
            If lResult = 0 Then
                'Remove the unnecessary chr$(0)'s
                RegQueryStringValue = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1)
            End If
        ElseIf lValueType = REG_BINARY Then
            Dim strData As Integer
            'retrieve the key's value
            lResult = RegQueryValueEx(hKey, strValueName, 0, 0, strData, lDataBufSize)
            If lResult = 0 Then
                RegQueryStringValue = strData
            End If
        End If
    End If
End Function
Function GetString(hKey As Long, strPath As String, strValue As String)
    Dim Ret
    'Open the key
    RegOpenKey hKey, strPath, Ret
    'Get the key's content
    GetString = RegQueryStringValue(Ret, strValue)
    'Close the key
    RegCloseKey Ret
End Function
Sub SaveString(hKey As Long, strPath As String, strValue As String, strData As String)
    Dim Ret
    'Create a new key
    RegCreateKey hKey, strPath, Ret
    'Save a string to the key
    RegSetValueEx Ret, strValue, 0, REG_SZ, ByVal strData, LenB(strData)
    'close the key
    RegCloseKey Ret
End Sub
Sub SaveStringLong(hKey As Long, strPath As String, strValue As String, strData As String)
    Dim Ret
    'Create a new key
    RegCreateKey hKey, strPath, Ret
    'Set the key's value
    RegSetValueEx Ret, strValue, 0, REG_BINARY, CByte(strData), 4
    'close the key
    RegCloseKey Ret
End Sub
Sub DelSetting(hKey As Long, strPath As String, strValue As String)
    Dim Ret
    'Create a new key
    RegCreateKey hKey, strPath, Ret
    'Delete the key's value
    RegDeleteValue Ret, strValue
    'close the key
    RegCloseKey Ret
End Sub

 

VB注册表读取示例教程及代码 本文还有配套的精品资源,点击获取 简介:本文通过一个VB项目实例,展示了如何编写程序来读取Windows注册表。项目包括四个主要文件: REGINQ.VBP 工程文件、 GENUTILS.BAS 通用工具模块、 MAIN.FRM 主窗体以及 readme.txt 文档。 REGINQ.VBP 负责项目结构... 阅读详情

相关推荐

VB6-API注册表操作模块

VB6-API注册表操作模块。可以轻松“建立/删除/修改/注册键值”

Inno Setup的常用脚本

安装不同的目录: [Files] Source: "我的程序\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "我的程序\*"; DestDir: {cf}\我的程序; Flags: ignoreversion recursesubdirs createallsubdir

千里之外 1万+

vb读写注册表模块 visual basic 6.0读写注册表模块 *.bas

visual basic 6.0读写注册表模块

Innosetup 读写注册表,读写INI文件

innosetup ini文件

cs821984831的博客 1970

VB模块_VB注册表操作高级模块(很完整)

VB模块_VB注册表操作高级模块 里面有很完整的VB注册表操作, 只要添加这个模块,注册表操作就易如反掌.

JS获取URL中参数值(QueryString)的4种方法分享

方法一:正则法 代码如下:function getQueryString(name) {    var reg = new RegExp(‘(^|&)’ + name + ‘=([^&]*)(&|$)’, ‘i’);    var r = [removed].search.substr(1).match(reg);    if (r != null) {        return unescape(r[2]);    }    return null;}// 这样调用:alert(GetQueryString(“参数名1”)); alert(GetQueryString(“参数名

环境变量

 我在做一个Delphi7的绿色版,用Inno setup 来做了一个绿化注册程序(初学),想在注册的时候把delphi的目录添加到系统环境变量path中,不重启立即生效.倒是找到相关的代码,不过是delphi的,没法在inno setup script中运行. 特请教对Inno setup script 熟悉的达人. 下面是我的CODE段代码: var   F

xiaoskery的专栏 1612

惊爆揭秘!异步启动永磁同步电机,调速核心技术大起底

传统的同步启动方式需要额外的同步设备,成本高且维护复杂。异步启动PMSM则巧妙地利用了鼠笼感应电机的启动原理,无需额外同步设备即可实现安全可靠的启动。其核心思想是将定子电流分解为两个正交的分量:磁链分量(id)和转矩分量(iq),分别控制这两个分量,从而实现对电机转矩的精确控制。随着电机设计技术的不断进步和控制算法的不断优化,异步启动PMSM的性能将得到进一步提升,应用范围也将更加广泛。异步启动PMSM的调速技术是其核心技术之一,直接影响着电机的性能和应用范围。

wen8789的博客 983

[inno setup]学习入门之二 关于写入注册表的一点注意

使用inno setup 操作注册表无非就是写入、查询、删除 //查询path,放入变量oldPath中   RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'path', oldPath);  //写入字符xxx到环境变量pat

rainyspring4540的专栏 6220

Proteus仿真——电压比较器

电压比较器是一种对输入信号进行鉴别与比较的电路,是组成非正弦波发生电路的基本单元电路。常用电压比较器有如下几种:单限比较器、滞回比较器、窗口比较器、集成电压比较器等。

weixin_58745307的博客 3377

逆向工程实战:手把手教你破解药监局网站的动态数据加载机制(Python+Chrome开发者工具)

本文详细介绍了如何利用Python和Chrome开发者工具逆向破解药监局网站的动态数据加载机制。通过分析Ajax请求、解析JSON响应数据以及处理动态参数,帮助开发者高效采集动态加载内容,适用于爬虫开发与数据分析场景。

weixin_30832143的博客 68

Python&C++相互混合调用编程全面实战-05ctypes给c函数传递char字符串和wchar_t宽)

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 ctypes给c函数传递char字符串和wchar_t宽) 一、api介绍 Python有2种字符串 string 和 byte。 byte对应的是普通char*,是ascii存放。分别通过c_whar_p() 以及 c_char_p() 存放。 creat_string_buffer() string 和 byte都是只读类型 要想在c语言中可以修改,就必须调用creat_string_buffer()

编辑编辑器 2741

【机械臂算法】机械臂动力学参数辨识仿真

本文以puma560m机械臂为例子进行动力学参数辨识的讲解,puma560m可以在robotic toolbox中找到,这里以它真实机械臂对他的动力学参数进行辨识。此外这里还有要说的是,机械臂参数辨识其实是一个系统工程,其中和系统的机械、电子、嵌入式都有着很深的联系,并不是仿真这么简单的。

vrijheid的博客 7834

VB 注册表操作模块 代码

Attribute VB_Name = "Reg_Operation"这是一个操作注册表的Bas文件,其中包含可以建立新键值,删除键值,查询键值的函数.Powered by barenxOption ExplicitOption Base 0Public Declare Function RegCloseKey()Function RegCloseKey Lib "advapi32.dll"

barenx的专栏 1744

Proxmox VE网络配置踩坑实录:从Web界面无法访问到完美修复的全过程

本文详细记录了Proxmox VE服务器Web界面无法访问的完整排查与修复过程。作者从基础网络连通性测试入手,逐步排查了服务状态、SSL证书、端口监听、防火墙规则及网关配置,最终定位并解决了问题。文章提供了系统性的故障排查思路和实用的修复命令,对管理Proxmox VE网络具有重要参考价值。

weixin_29231221的博客 890

YOLOv8 交通流量监测详解

本文介绍了一个基于YOLOv8的交通流量监测系统,该系统通过深度学习技术实现车辆实时检测、跟踪和分类。系统核心功能包括:1)使用YOLOv8模型检测道路车辆并进行持续跟踪;2)按方向和车型统计车流量;3)支持多区域流量监测和数据可视化。文章提供了完整的代码实现示例,涵盖基础车辆检测、视频流处理和高级数据分析功能。系统还可进一步优化性能,如使用轻量级模型、GPU加速等,并建议扩展车速估算、密度分析等功能。该方案为交通管理提供了有效的实时监测和决策支持工具。

u010117029的博客 346

一个好用的 VB 注册表操作类模块

具体使用一看就明白了,来自 优快云Option ExplicitPrivate Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _   (dest As Any, source As Any, ByVal numBytes As Long)Private Declare Function ExpandEnvironmentS

YutingPC's 优快云 Blog 2468

信号处理算法:离散余弦变换(DCT)_(1).离散余弦变换(DCT)概述

离散余弦变换的数学定义如下:对于一个长度为NNN的离散信号xnx(n)xn,其DCT变换后的系数XkX(k)XkXk∑n0N−1xncos⁡πNn12kk012N−1Xkn0∑N−1​xncosNπ​n21​kk012N−1其中,kkk是频率指数,nnn是时间或空间索引。离散余弦变换(DCT)是一种强大的信号处理技术,广泛应用于图像压缩、音频处理、数据压缩等领域。

2401_87715305的博客 1554

[原创]在VB6.0中访问注册表

                                                                                   作者:bluesky35(蓝天)以下声明定义在模块中:Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Lon

bluesky35(蓝天)的专栏 3017

Unreal Engine Profiler:动画系统性能分析教程_2024-07-23_03-05-38.Tex

Unreal Engine Profiler 是一个内置的性能分析工具,它可以帮助开发者识别和解决游戏中的性能瓶颈。Profiler 提供了详细的性能数据,包括 CPU 使用率、GPU 负载、内存使用情况等,特别针对动画系统,可以查看动画蓝图的执行时间、骨骼动画的计算成本、以及动画混合和重定向的效率。通过这些数据,开发者可以定位到具体的问题,比如哪些动画状态消耗了过多的 CPU 时间,或者哪些动画资源导致了内存泄漏。

825

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VB6 注册表的递归访问与面象对象模块化封装

VB6注册表递归访问与面象对象模块化封装

yxsoft2011的博客 1038

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

用API修改注册表的完整模块

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 622

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VB==这个玩笑有点酷

这个玩笑有点酷2000-10-18· 不详·yesky  此程序演示怎样在VB中调用API修改注册表,让程序每次启动都会执行,运用shell函数,操做文本文件,屏蔽系统功能,做出一个能够修改系统的程序(当然能和你的朋友开个玩笑),并且用事件key_press接收密码来关闭程序。 模块中声明:’创建子键Public Declare Function RegCreateKey

hktl的专栏 1133

VB中什么是类,类模块有什么作用

一、什么是类? 用面向对象的编程思想来看,类就是存储数据同时给一组相关代码赋予协调功能的方式。类是面向对象编程的核心。 VB最为人垢病的是它的面向对象特性。实际上VB是一种基于对象的开发工具。在VB中 建立的类是支持继承的。下面是范例: 首先建立一个新工程,然后添加一个新的类模块(Class Module),类名称设定为BaseClass。 然后在BaseClass中加入以下代码: Public ...

miaozk2006的专栏 2272

读写注册表_从Windows注册表读取的模块

读写注册表 这可以建立,但是到目前为止我还不需要。 这在我的数据库中使用并存储为modOS。 OptionCompareDatabase OptionExplicit PublicConstconHKCR=&H80000000 PublicConstconHKCU=&H80000001 PublicConstconHKLM=&H80...

IT与开发人员的地盘 161

VS Code Copilot Chat 扩展自动化实战:基于 CDP 与 @playwright/cli 启动、交互与调试指南

本文围绕 Copilot Chat 扩展仓库中的自动化技能文档 [SKILL.md](https://link.gitcode.com/i/fb62d01a1b000fcf7582c696d0b8f924),完整讲解如何通过 `@playwright/cli` 挂载到 VS Code Insiders 暴露的 Chrome DevTools Protocol(CDP)端口,实现对 Copilot

gitblog_01190的博客 497
上一篇: inno setup一个典型脚本
下一篇: SqlServer2000(2005) 数据库同步方案详解
double294
博客等级 码龄20年 6粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值