学习VB中

我现所知的VB写入注册表信息的三种方法总结如下:
1,通过VB自身带的写入注册表函数SaveSetting(appname,section,key[,value)和GetSetting(appname,section,key[,default])还有DeleteSetting(apppname)三个函数来完成,这三个函数很简单,参数分别对应:应用程序名,区段,键,值,至于什么是程序名呀区段呀,只不过是注册表的组织形式,就像文件夹里的文件件的。。,就是这样呵呵。。来个例子吧!
Private Sub Command1_Click()
SaveSetting "蚯蚓", "小蚯蚓", "top", Form1.Top
SaveSetting "蚯蚓", "小蚯蚓", "Left", Form1.Left
SaveSetting "蚯蚓", "小蚯蚓", "Width", Form1.Width
SaveSetting "蚯蚓", "小蚯蚓", "Height", Form1.Height
End Sub
这个一执行,注册表里的HKEY_CURRENT_USER/Software/VB/VBAndVBAProgramSettings下呢就这出现蚯蚓,点开蚯蚓,就出现小蚯蚓,然后就记录着四个值,用来记录当前窗体位置,这时候,注册表就好像是一个文件,它记录下了一些信息,下次我们运行程序的时候再用GetSetting把它调出来,另外在卸载软件时还要把它DeleteSetting。很简单,,但是很遗憾,它只能存在HKEY_CURRENT_USER/Software/VBAndVBAProgramSettings下。

2,要想任意的操纵注册表,当然非API不可了,借用一下别人的例程
你希望你的程序能访问 Windows 注册表吗?当然,能访问庞大的 Windows 注册表是每个程序设计者都希望的事情,那么我就告诉你如何通过API函数访问 Windows 注册表吧。请先看看下面的 Visual Basic 程序:

  '根键常数
  Const HKEY_CLASSES_ROOT = -2147483648#
  Const HKEY_CURRENT_USER = -2147483647#
  Const HKEY_LOCAL_MACHINE = -2147483646#
  Const HKEY_USERS = -2147483645#

  '键值类型
  Const REG_SZ = 1& '字符串值
  Const REG_BINARY = 3& '二进制值
  Const REG_DWORD = 4& 'DWORD 值

  '声明有关API函数
  Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
    ( _
     ByVal hKey As Long, _
     ByVal lpSubKey As String, _
     ByRef phkResult As Long _
     ) As Long '建立一个新的主键

  Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _
    ( _
     ByVal hKey As Long, _
     ByVal lpSubKey As String, _
     ByRef phkResult As Long _
    ) As Long '打开一个主键

  Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" _
   ( _
    ByVal hKey As Long, _
    ByVal lpSubKey As String _
   ) As Long '删除一个主键

  Private Declare Function RegCloseKey Lib "advapi32.dll" _
   ( _
    ByVal hKey As Long _
   ) As Long '关闭一个主键

  Public Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long'

  Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _
   ( _
    ByVal hKey As Long, _
    ByVal lpValueName As String, _
    ByVal lpReserved As Long, _
    ByRef lpType As Long, _
    ByVal lpData As Any, _
    ByRef lpcbData As Long _
   ) As Long '查询一个键值,lpData应由缺省的ByRef型改为ByVal型

  Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" _
   ( _
    ByVal hKey As Long, _
    ByVal lpValueName As String _
    ) As Long '删除一个键值

  '主过程
  Sub Main()
   Dim nKeyHandle As Long, nValueType As Long, nLength As Long
   Dim sValue As String
   sValue = "I am a winner!"
   Call RegCreateKey(HKEY_CURRENT_USER, "New Registry Key", nKeyHandle)
   Call RegSetValueEx(nKeyHandle, "My Value", 0, REG_SZ, sValue, 255)
   sValue = Space(255)
   nLength = 255
   Call RegQueryValueEx(nKeyHandle, "My Value", 0, nValueType, sValue, nLength)
   MsgBox sValue
   Call RegDeleteValue(nKeyHandle, "My Value")
   Call RegDeleteKey(HKEY_CURRENT_USER, "New Registry Key")
   Call RegCloseKey(nKeyHandle)
  End Sub
真是不好意思,这个例程可能是V5滴,不过用法都齐了只是其中的API声明有点出入,反正API调用就是用到时再查杳拷拷。OK
3,两斧头砍完了,第三斧头就是使用wscript用windows的脚本语言来完成注册表编辑,
首先引用Windows Script Host Object Model
定义个对象:Set Reg=CreateObject("wscript.shell")
然后调用方法写写写       Reg.RegWrite ("要写入的值的名称", "值"   .RegRead 读键值)
例子:myrun = Reg.RegWrite("HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/cdplayer", "C:/WINNT/system32/cdplayer.exe", "REG_SZ")

删除                             Reg.RegDelete ("要写入的值的名称") 
例子:mynorun = Reg.RegDelete("HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/cdplayer")

读取                             Reg.RegRead ("要写入的值的名称")
例子:Reg.RegRead("HKLM/SOFTWARE/Rising/Rav/NetID")
好了,好了,要熄灯了先写到这儿了 
vb基础教程我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于DOS下的编程语言,譬如C、Qbasic、Pascal等等,真不知何年何月才能有所成就。   编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程,这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但在第四代计算机语言(可视化编程)出现后,可以确切的说它开发了人们的更多天赋,并不局限于那些头脑异常清晰的人,每一个人都可以发现自己也可以编出一些从前不敢问津的程序,想象力的充分发挥才是第四代语言的精粹。   Visual Basic(以下简称VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前VB诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着VB6.0的研制、测试,这么高的更新率,不外乎说明两个问题:用户对VB的热衷,微软对VB的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如IE之于浏览器领域,《帝国时代》之于游戏都是最好的例证。对于VB现在也有一个很强的竞争对手――Delphi,有人把它称作VB杀手,这显然有偏激之处,VB的确有它的不足之处,但Delphi又何尝不是呢,而且以微软对VB的倾心,VB的功能必然会越来越强大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值