下面图老师小编要向大家介绍下教你在VB中如何使用注册表,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!
【 tulaoshi.com - 编程语言 】
Windows系统中的注册表(Resgister)保存着大量的信息,我们可读写注册表来更好地为我们软件服务。  一、常数定义和API申明(我们会在使用该API时对它进行说明):  PrivateConstHKEY_CLASSES_ROOT=&H80000000主键
  PrivateConstHKEY_CURRENT_USER=&H80000001主键
  PrivateConstSTANDARD_RIGHTS_ALL=&H1F0000
  PrivateConstKEY_ENUMERATE_SUB_KEYS=&H8
  PrivateConstKEY_SET_VALUE=&H2
  PrivateConstKEY_CREATE_SUB_KEY=&H4
  PrivateConstKEY_QUERY_VALUE=&H1
  PrivateConstKEY_NOTIFY=&H10
  PrivateConstKEY_CREATE_LINK=&H20
  PrivateConstSYNCHRONIZE=&H100000
  PrivateConstKEY_ALL_ACCESS=((STANDARD_RIGHTS_ALLOrKEY_QUERY_VALUEOrKEY_SET_VALUEOrKEY_CREATE_SUB_KEYOrKEY_ENUMERATE_SUB_KEYSOrKEY_NOTIFYOrKEY_CREATE_LINK)And(NotSYNCHRONIZE))
  PrivateConstREG_MULTI_SZ=7
  PrivateConstERROR_SUCCESS=0&
  PrivateConstREAD_CONTROL=&H20000
  PrivateConstREG_SZ=1
  PrivateConstREG_DWORD=4
  PrivateConstREG_EXPAND_SZ=2
  PrivateConstREG_BINARY=3
  PrivateConstREG_DWORD_BIG_ENDIAN=5
  PrivateConstREG_DWORD_LITTLE_ENDIAN=4
  PrivateConstREG_NONE=0
  PrivateDeclareFunctionRegOpenKeyExLib“advapi32.dll"Alias“RegOpenKeyExA"(ByValhKeyAsLong,ByVallpSubKeyAsString,ByValulOptionsAsLong,ByValsamDesiredAsLong,phkResultAsLong)AsLong
  PrivateDeclareFunctionRegCreateKeyLib“advapi32.dll"Alias“RegCreateKeyA"(ByValhKeyAsLong,ByVallpSubKeyAsString,phkResultAsLong)AsLong
  PrivateDeclareFunctionRegSetValueExLib“advapi32.dll"Alias“RegSetValueExA"(ByValhKeyAsLong,ByVallpValueNameAsString,ByValReservedAsLong,ByValdwTypeAsLong,lpDataAsAny,ByValcbDataAsLong)AsLong
  PrivateDeclareFunctionRegQueryValueExLib"advapi32.dll"Alias"RegQueryValueExA"(ByValhKeyAsLong,ByVallpValueNameAsString,ByVallpReservedAsLong,lpTypeAsLong,lpDataAs
  Any,lpcbDataAsLong)AsLongPrivateDeclareFunctionRegCloseKeyLib"advapi32.dll"(ByValhKeyAsLong)AsLong
  
  二、将下列代码放在窗体的Load事件中
  PrivateSubForm_Load()
  DimhKeyAsLong主键的句柄
  DimlpDataAsString查询得到的键值
  DimSizeOfDataAsLong键值的长度
  DimValueTypeAsLong键值的类型
  SizeOfData=150
  Dimreturn_OpenKeyAsLong函数调用的返回值
  DimPriKeyAsString主键
  DimKeyValue1,KeyValue2AsString键值名称
  PriKey="北信BITIPeople"主键
  KeyValue1="教授"键值名称
  KeyValue2="学生"键值名称
  下面的函数RegOpenKeyEx取得一个句柄hKey
return_OpenKey=RegOpenKeyEx(HKEY_CURRENT_USER,"",0,KEY_ALL_ACCESS,hKey)
   
  下面的函数RegCreateKey建立一个主键,如此键已存在,则打开它IfRegCreateKey(hKey,PriKey,hKey)ERROR_SUCCESSThen
  MsgBox"create"&PriKey&"Failed"
  ExitSub
  EndIf
  
  DimKeyDataAsString键值
  KeyData="500"
下面的函数RegSetValueEx给指定的键值名称赋键值
IfRegSetValueEx(hKey,KeyValue1,0&,REG_SZ,ByValKeyData,Len(KeyData)+1)ERROR_SUCCESSThen
  MsgBox"SetValue"&KeyValue1&"Failed"
  ExitSub
  EndIf
  KeyData="15020"
下面的函数RegSetValueEx给指定的键值名称"学生"赋键值为"15020"
IfRegSetValueEx(hKey,KeyValue2,0&,REG_SZ,ByValKeyData,Len(KeyData)+1)ERROR_SUCCESSThen
  MsgBox"SetValue"&KeyValue2&"Failed"
  ExitSub
  EndIf
  
  return_OpenKey=RegQueryValueEx(hKey,KeyValue1,0&,REG_SZ,0&,SizeOfData)
  lpData=String(SizeOfData+1,"")
下面的函数RegQueryValueEx检索指定键值名称的键值和键值类型
IfRegQueryValueEx(hKey,KeyValue1,0&,REG_SZ,ByVallpData,SizeOfData)ERROR_SUCCESSThen
  MsgBox"Query"&KeyValue1&"Failed"
  EndIf
  RegCloseKey(hKey)释放主键的句柄
  EndSub
运行此程序后,打开注册表,我们会发现在主键HKEY_CURRENT_USER(在此主键下记录本机当前用户的一些信息)下,增加了子键"北信BITIPeople",我们还可看到两个指定的键值名称都有正确的键值。从而完成了注册的任务。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)注:此程序在VB5.0中运行通过。
->来源:http://www.tulaoshi.com/n/20160219/1606771.html
看过《教你在VB中如何使用注册表》的人还看了以下文章 更多>>