个人记录_vb.net注册表读写

vb.net2019- 对象 (Visual Basic) Collection 提供了一种便捷方式,将相关的一组项视为一个对象。 Err 包含运行时错误的相关信息。 My.Application 对象由以下类组成: ApplicationBase 提供了所有项目中的可用成员。 WindowsFormsApplicationBase 提供了 Windows 窗体应用中的可用成员。 ConsoleApplicationBase 提供了控制台应用中的可用成员。... 阅读详情

  vb.net中访问注册表变得非常的简单。我们可以用  microsoft.Win32 名称空间的 下的 registry 类 和  registryKey 类。 另外 My.Computer.Registry 也可以返回一个 Microsoft.Win32.Registry 类的实例。
下面就举几个小例子来说明vb.net访问注册表的方法。

1,返回或创建一个注册表键

  Dim  Key1  As  Microsoft.Win32.RegistryKey
        Key1 
=  My.Computer.Registry.CurrentUser    ' 返回当前用户键
         Dim  Key2  As  Microsoft.Win32.RegistryKey
        Key2 
=  Key1.OpenSubKey( " northsnow " )        ' 返回当前用户键下的northsnow键
         If  Key2  Is   Nothing   Then
            Key2 
=  Key1.CreateSubKey( " northsnow " )   ' 如果键不存在就创建它
         End   If


2,删除注册表键

Dim  Key1  As  Microsoft.Win32.RegistryKey
        Key1 
=  My.Computer.Registry.CurrentUser    ' 返回当前用户键
         Dim  Key2  As  Microsoft.Win32.RegistryKey
      
        Key2 
=  Key1.OpenSubKey( " northsnow " )        ' 返回当前用户键下的northsnow键
         If   Not  Key2  Is   Nothing   Then
            Key1.DeleteSubKey(
" northsnow " )   ' 如果键不存在就创建它
         End   If

 3,创建或读取注册表项

Dim  Key1  As  Microsoft.Win32.RegistryKey
        Key1 
=  My.Computer.Registry.CurrentUser    ' 返回当前用户键
         Dim  Key2  As  Microsoft.Win32.RegistryKey
        Key2 
=  Key1.OpenSubKey( " northsnow " ,  True )        ' 返回当前用户键下的northsnow键,如果想创建项,必须指定第二个参数为true
         If  Key2  Is   Nothing   Then
            Key2 
=  Key1.CreateSubKey( " northsnow " )   ' 如果键不存在就创建它
         End   If

        
' 创建项,如果不存在就创建,如果存在则覆盖
        Key2.SetValue( " name " ,  " 塞北的雪 " )
        Key2.SetValue(
" sex " ,  True )
        Key2.SetValue(
" age " ,  30 )

        
' 返回项值
         Dim  sb  As   New  System.Text.StringBuilder
        sb.AppendLine(Key2.GetValue(
" name " ))
        sb.AppendLine(Key2.GetValue(
" sex " ))
        sb.AppendLine(Key2.GetValue(
" age " ))
        
MsgBox (sb.ToString)

        
' 查验某个项是否存在
         If  (Key2.GetValue( " name " ))  Is   Nothing   Then
            
MsgBox ( " no " )
        
Else
            
MsgBox ( " yes " )
        
End   If

        
If  (Key2.GetValue( " name2 " ))  Is   Nothing   Then
            
MsgBox ( " no " )
        
Else
            
MsgBox ( " yes " )
        
End   If

' 输出 
'
  塞北的雪
'
True
'
30
'
yes
'
no

4,遍历注册表

这个也非常简单,在窗体上放一个按钮和两个文本框,添加如下的代码

   Dim  sb  As   New  System.Text.StringBuilder   ' 返回遍历结果
     Dim  sb2  As   New  System.Text.StringBuilder   ' 返回读取出错的注册表键
     Private   Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        
Dim Key1 As Microsoft.Win32.RegistryKey
        Key1 
= My.Computer.Registry.CurrentUser   '返回当前用户键
        If Not Key1 Is Nothing Then
            sb.AppendLine(Key1.Name)
            readValue(Key1)
            readReg(Key1)
        
End If
        
Me.TextBox1.Text = sb.ToString
        
Me.TextBox2.Text = sb2.ToString
    
End Sub

    
' 遍历注册表键树
     Private   Sub readReg(ByVal r As Microsoft.Win32.RegistryKey)
        
If r.SubKeyCount > 0 Then
            
Dim keyName() As String
            
Dim keyTemp As Microsoft.Win32.RegistryKey
            keyName 
= r.GetSubKeyNames
            
Dim i As Integer
            
For i = 0 To keyName.GetLength(0) - 1
                
Try
                    sb.AppendLine(keyName(i))
                    keyTemp 
= r.OpenSubKey(keyName(i), True)
                    readValue(keyTemp)
                    readReg(keyTemp)
                
Catch ex As Exception
                    sb2.AppendLine(keyName(i))
                
End Try
            
Next
        
End If
    
End Sub

    
' 遍历某键下的项
     Private   Sub readValue(ByVal r As Microsoft.Win32.RegistryKey)
        
If r.ValueCount > 0 Then
            
Dim valueName() As String
            
Dim i As Integer
            valueName 
= r.GetValueNames
            
For i = 0 To valueName.GetLength(0) - 1
                sb.AppendLine(
"####")
                sb.Append(r.Name)
                sb.Append(
"----")
                sb.Append(r.GetValue(valueName(i)).ToString)
            
Next
        
End If
    
End Sub
 
VB.NET调用BarTender.NET SDK时程序集加载失败的深度解析与解决方案 本文深度解析了VB.NET调用BarTender.NET SDK时程序集加载失败的常见问题,包括.NET Framework版本兼容性、32位与64位平台冲突以及程序集依赖项缺失等核心原因。提供了详细的解决方案步骤,如调整目标框架版本、配置正确的平台目标和确保程序集完整部署,帮助开发者快速解决Seagull.BarTender.Print加载错误,提升打印功能稳定性。 阅读详情

相关推荐

VB.NET 2003中的INI文件与注册表信息读取教程

随着技术的迭代升级,VB.NET 2003作为一种经典的编程语言,依然在某些开发领域扮演着重要的角色。本章节旨在为初学者提供VB.NET 2003的基本概念,为深入了解后续章节内容打下基础。Visual Basic .NET(VB.NET)2003是微软公司推出的一款面向对象的编程语言,继承了早期Visual Basic的易用性,并加入了.NET框架的特性。它提供了一个更加强大和灵活的开发环境,允许开发者创建各类应用程序,包括Windows窗体应用程序、ASP.NET网页以及Web服务等。

weixin_36019375的博客 476

VB.Net 注册表 读写

'写入注册表 WebBrowser1设定内核 Private Function SetRegistry(ByVal strKey As String, ByVal strName As String, ByVal strValue As String) As Boolean Try Dim Key_LocalMachine As Microsoft.Win...

9.歌工作室 1267

VB6工程批量转C#、VB.NET、C++的开箱即用迁移工具集

直接拖入VB6源码文件(.frm、.cls、.bas)就能批量生成C#、VB.NET、VC++ MFC、VC++.NET(CLR)、J#、Borland C++ Builder、Delphi等目标语言代码。核心程序VBto.exe内置对ADO、Excel Application、Recordset、TreeView、ListView、Paint绘图、事件绑定、类型映射等VB6高频特性的转换逻辑,覆盖VB6运行时常见对象和控件行为。配套提供CHM帮助文档、多个可运行示例工程(如FormTestDeclare.

meat5的博客 314

使用 Visual Basic .NET 访问注册表

摘要本文介绍如何使用 Visual Basic .NET 的内置函数 DeleteSetting、GetAllSettings、GetSetting 和 SaveSetting,以及公共语言运行时的 Registry 和 RegistryKey 类来访问注册表。其中详细说明了所需的权限、何时使用注册表编辑器,以及如何通过编程读取和写入注册表。本文包含一些指向英文站点的链接。目录

cosio的专栏 1470

基于VB.NET的OPC客户端开发实战项目

到这里,你应该已经掌握了构建一个完整OPC客户端所需的全部关键技术点:✅ 理解OPC数据模型✅ 实现稳定连接与自动重连✅ 动态管理标签组✅ 利用事件机制实现实时订阅✅ 构建多线程安全架构✅ 设计专业级监控界面但这还不是终点。真正的高手,会在实践中不断反思:- 我的日志够详细吗?- 内存泄漏排查了吗?- 用户权限配置规范了吗?- 故障能否一键复现?这些问题的答案,决定了你的系统是“勉强可用”还是“值得信赖”。

weixin_35794316的博客 357

VB.NET调用Word COM自动填充模板并生成新文档的可执行方案

这个资源包提供一个完整的VB.NET桌面程序,能直接调用本地已安装的Microsoft Word(通过COM接口),打开预设的.docx模板文件,在指定位置动态插入文本、填充表格、替换书签内容,并将结果另存为全新的独立Word文档。整个流程无需Office插件或在线服务,依赖系统自带Word应用即可运行。项目包含可视化主窗体Form1和封装完善的WordOp.vb操作类,覆盖模板加载、内容定位、段落追加、表格数据写入、文档保存等核心功能。解决方案word.sln支持Visual Studio 2019及以上

vim8coder的博客 247

[VB.NET]读写注册表

读写注册表 实例说明在本实例中,我们将制作一个能读写注册表的程序。程序运行后,可以选择要添加、删除、修改或查询的键和键值。程序运行结果如图68-1所示。<!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_a

VB.NET学习网-VB.NET实例、VB.NET教程、VB.NET源码下载 1625

VB读写注册表

VB读写注册表,很不错的例子,十分简便!

VB.NET操作注册表

REM 设置根节点 Private key As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser Function readKey(path, Optional ByVal value = "") Dim subkey As Microsoft.Win32.Registr...

阿亮的专栏 520

TP4054充电电路发热严重?手把手教你调整电阻值降低温度(附实测数据)

本文针对TP4054锂电池充电电路发热严重的问题,提供了详细的排错与解决方案。通过分析发热原理,指出核心在于PROG引脚电阻值设定,并手把手指导如何计算和选择正确的电阻以降低充电电流与温度。文末附有不同电阻下的实测温度与性能数据,为电子爱好者和工程师提供了实用的调试参考。

p4q5r6s7t的博客 406

TPAMI 2025新作LRFormer复现笔记:我的Windows 11 + RTX 4090配置全流程

本文详细记录了在Windows 11系统下使用RTX 4090显卡复现TPAMI 2025顶会论文LRTransformer的完整流程,包括硬件配置、系统优化、Python环境搭建及模型训练中的常见问题解决方案。特别针对Windows平台特有的路径管理、CUDA版本冲突和显存优化等关键技术细节提供了实用指南,帮助开发者高效完成环境搭建和模型训练。

weixin_29094301的博客 412

经典VB与现代VB(VB.NET)

经典VB的淘汰是技术趋势(.NET替代COM)、市场需求(跨平台/云服务)、微软战略(转向C#)​共同作用的结果;VB.NET的“相对弱势”则是微软资源倾斜(C#优先)、开发者社区偏好(主流语言选择)、新兴领域适配不足的综合影响。VB并未完全消失——经典VB仍在遗留系统中运行,VB.NET仍是.NET生态的重要成员。其“淘汰”更多体现在主流开发市场的份额下降,而非彻底退出历史舞台。

qq_39980997的博客 1687

开发板的使用

一、开发板使用学习大纲。 1、开发板组成、核心板资源,底板资源。 2、开发板连接、调试工具、串口参数配置。 3、开发板启动过程。 4、文件传输 1)使用串口传输。 上传/下载 2)使用网口传输。 上传/下载 5、临时/永久配置开发板IP地址。 6、开发板启动脚本。 二、开发板的组成。 核心板: CPU处理器: 芯片:S5P6818(三星) 内核: ARM cortex-A53 -> 八核处理器 运行内存:512MB*2=1G nandflash:4G 底板: 电源线:5V 串口...

qq_45633736的博客 2659

VB读写Ini文件的模块

        网上读写Ini文件的例子只有几篇相同的文章,而并不好用,奇怪的是各网站都是同样的例程,高手也就罢了,三下五除二就搞定,初学者会被搞得一头雾水,看着一个好好的模块就是不能用。        所以我整理了一下(最早是在腾讯答一个贴子时写的),这个也就是修改了一下,不是我自已的发明(至于这个代码起先不知是谁写的),不过非常的好用 新建模块(建议不使用注册表) 命名为rwiniini

思科网络 3136

SAR ADC设计——SAR Logic原理

SAR ADC设计——SAR Logic原理 参考:集成电路设计实践 SAR ADC 清华大学 李福乐 文章目录SAR ADC设计——SAR Logic原理一. Overview二. TSPC(True Single Phase Clock)三. SC_Gen(Sequential Control Generator)四. LATCH_Dynamic五. 时序控制逻辑总结六. SW产生七. DO产生八. GT产生九. SAR Logic模块总结 一. Overview 输入:CKC,CompB,SAMPL

夏风喃喃的博客 1万+

Easy3D&CGAL文章目录汇总

Easy3D&CGAL文章目录汇总

dayuhaitang1的博客 2863

从过去到未来、 从Visual和Basic到Net。(从VB到VB.NET的12个技巧)(二)

从过去到未来、 从Visual和Basic到Net (二)5.   读取注册表。Windows中的注册表是如此重要,象一个巨大宝藏永远神秘和让你小心翼翼。有时我们必须在注册表中取或放一些信息。但VB提供的函数只能访问HKEY_CURRENT_USER/Software/VB and VBA Program Settings/appname/section/key中的值,至于之外的你

ccBoy的专栏 1253

Attention优化|2w字原理&图解: 从Online-Softmax到FlashAttention V1/V2/V3

本文通过原理分析和图解的方式,通俗易懂地FlashAttention系列算法。FlashAttention V1/V2在LLM领域的应用已经非常广泛,相关的论文也反复读了几遍。FA1和FA2论文非常经典,都推荐读一下(不过FA2论文中公式错误不少本文大约1.8w字,包括以下内容:0x07 分布式训推使用FlashAttention0x09 FlashAttention中MQA/GQA以及Causal Mask处理。

具身机器人和通用AI 5232

在VB中操作XML

 什么是XML   扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。   XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XM

孤夜寒心泪学习随笔 1648

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

vb中findwindow的疑惑

      目的是学习使用findwindow的方法  |问题是程序运行得不到正确答案 步骤是 : 'Module Module1 //模块中声明findwindowDeclare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As...

miaozk2006的专栏 907

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

VB.NET在WinCE5.0中异常转储试验

1.目的: 在CE系统上,当程序发生异常特别是不可重现的异常时,通过事后调试协助快速定位问题   2.原理: 在windows系统中,当应用程序出现严重错误无法运行时,系统会启动JIT调试器,JIT调试器可以做两类事情:1)直接附加到出错进程上通过调试来分析、定位问题。2)收集、记录错误发生时的现场数据提供事后分析。在WinCE上,希望利用第二种方式:也就是使用WER(Windwos Er

Jogholy的专栏 622

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

vb/vb.net百科技术文章精粹(1)

VB中用CommonDialog       如何设置   保存的文件夹名?   [控件]   $$winsock接收文件问题 如何在Winform里控制Web页面,填写表单,提交 如何显示指定文件名的ACCESS   查询或窗体 用VB+SQL   SERVER编程

师以长技以制夷 725

VB.NET软件授权实战:构建安全可靠的“一机一码”加密系统

软件授权是保护开发者知识产权、实现商业变现的核心技术。其基本原理是通过加密算法将软件使用权限与特定设备或用户绑定,防止未授权复制与分发。在技术实现上,通常采用硬件指纹识别、非对称加密和本地/网络验证相结合的方式,确保授权的唯一性与安全性。对于VB.NET等桌面应用,这一技术尤为重要,它能有效防止软件被随意传播,保障开发者的劳动成果。在实际工程中,授权系统需要兼顾安全性与用户体验,例如通过获取主板序列号、硬盘物理序列号等稳定硬件信息生成复合指纹,并利用RSA等算法进行签名验证。本文以VB.NET开发环境为例,

weixin_33946020的博客 356

C#成魔之路<15> 注册表技术

注册表是一个庞大的数据库系统,其记录了用户安装在计算机上的软件,硬件信息和每一个程序的相互关系。注册表中存放着很多参数,直接控制着整个系统的启动、硬件驱动程序的装载以及应用程序的运行。1、注册表基础(1)概述 Windows注册表是包含安装、用户喜好以及已安装软件和设备的所有配置信息的核心存储库。商用软件基本都使用注册表信息来存储这些信息。COM组件必须把他的信息存储在注册表中,才能由客户程序调用

游戏引擎研发进阶之路 450
下一篇: .net 读取,写XML
validjin
博客等级 码龄20年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值