注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 操作系统 > Windows > Windows注册表 > 其它技巧 内容正文:用Visual Basic修改Windows98注册表

用Visual Basic修改Windows98注册表

发布时间:2006-01-18 00:00:10 来源: 网友评论 0 条
Windows98系统注册表中包含关于系统配置及运行的重要信息。本文以修改KEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run子键分支中的键值信息为例,介绍如何在Visual Basic中,利用Win32 API函数修改注册表。

声明Win32 API函数

因为Visual Basic 6.0本身没有提供对系统注册表中“键” 的创建、打开、关闭、删除等操作的功能函数,所以,首先在程序的开始声明以下Win32 API 函数:

Const REG_SZ=1

Global Const HKEY_LOCAL_MACHINE

=&H80000002

Declare Function RegOpenKey Lib“advapi32”

Alias “RegOpenKeyA”(ByVal hkey As Long,

ByVal lpszSubKey As String,phkResult As Long) As Long

’该函数用于打开系统注册表中已存在的键。

函数的返回值:键打开成功返回0,否则返回非0,

phkResult被设置为该键的句柄。

Declare Function RegSetValueEx Lib “advapi32”

Alias “RegSetValueExA” (ByVal hkey As

Long,ByVal lpszValueName As String,ByVal

dwReserved As Long,ByVal fdwType As Long,

lpbData As Any,ByVal cbData As Long) As Long

’该函数用于向系统注册表中指定的键添加键名和键值。

函数的返回值: 添加键名、键值成功返回0,否则返回非0。

Declare Function RegCloseKey Lib “advapi32”

Alias “RegCloseKey” (ByVal hkey As Long) As Long

’该函数用于关闭系统注册表中打开的键。

函数的返回值:键关闭成功返回0,否则返回非0。



编写功能函数

Function oRegOpenKey (ByVal hkey As Long, ByVal lpszSubKey As String,phkResult As Long) As Boolean

 Dim lResult As Long

 On Error GoTo 0 ’关闭错误陷阱

 lResult=RegOpenKey(hkey,lpszSubKey,phkResult)

 If lResult=0 Then

oRegOpenKey=True

 Else oRegOpenKey=False

 End If

End Function

Function RegSetStringValue(ByVal hkey

As Long,ByVal strValueName As String,

ByVal strData As String,Optional ByVal flog) As Boolean

 Dim lResult As Long

 On Error GoTo 0

 lResult=RegSetValueEx(hkey,strValueName,

0&,REG_SZ,ByVal strData,LenB(StrConv(strData,

vbFromUicode))+1)

’StrConv是Visual Basic提供的函数,

返回按指定类型转换的Variant(String)。

’vbFromUicode是Visual Basic的系统常数。


在上面程序中,StrConv(strData,vbFromUnicode)的作用是:根据系统的默认码将字符串转换成Unicode。

If lResult =0 Then

RegSetStringValue=True

Else RegSetStringValue=False

End If

End Function

在Clik事件中编写下列代码

Private sub Commandl_Clik()

Dim hkey As Long

Dim MyReturn As Long

MyReturn=oRegOpenkey(HKEY_LOCAL_MACHINE,

“SOFTWARE/Microsoft/Windows/CurrentVersion/Run”,hkey)

If hkey=0 Then

MsgBox “您要求打开的主键未创建,

或者您的输入有误,请仔细核对后再次运行本程序!”

Exit Sub

End If

MyReturn=RegSetStringValue(hkey,

“MyAcess”,“d:/programfiles/office97/

office/mymsaccess.exe”,False)

’如果flag丢失或为True,则该动作将

被记录在日志文件中,并且,如果用户选择

删除已安装的应用程序,该值将被应用程序删除。

If MyReturn Then

MsgBox “您的程序已成功添加到

Windows 98的启动中,再次启动Windows时

系统将自动运行您的程序!”,vbExclamation,“特别提示”

Else MsgBox “您的这段代码中存在某种错误,

请认真检查!”,vbExclamation,“特别提示”

End If

RegCloseKey(hkey)

End Sub



相关文章
【评论】【收藏本文】【打印】【关闭】
上一篇文章:“注册表错误”也出错
下一篇文章:使用 Visual Basic .NET 访问注册表
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
编程解决注册表问题所需的函数详解
编程解决注册表问题所需的函数详解
清空系统远程可访问的注册表全部路径
清空系统远程可访问的注册表全部路径
推荐阅讯
  • 修复被锁定的注册表
  • 如何关闭Dr.Watson
  • 从零讲起 彻底走出注册表应用的迷雾
  • 最高收藏秘籍:注册表修改项目大全
  • 不再费时费力 两招快速定位注册表项名
  • Windows注册表修改实例完全手册(上)
  • 设置系统注册表防止页面文件泄露信息
  • Windows系列操作系统注册表的组成与分析
  • 注册表中常用软件信息查找和备份全攻略
  • 用注册表给应用程序加口令
阅读排行
  • 1.注册表知识:HKEY_LOCAL_MACHINE根键详解
  • 2.浏览网页注册表被修改之迷及解决办法
  • 3.初识注册表
  • 4.收放自如 注册表禁止使用和恢复禁用
  • 5.雕虫小技 教你吓走想要动你电脑的人
  • 6.对注册表进行编辑的三种途径
  • 7.编程解决注册表问题所需的函数详解
  • 8.网上冲浪要小心 不让别人动你的注册表
  • 9.Windows系列操作系统注册表的组成与分析
  • 10.解除封锁注册表被禁用的几种解决办法
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载