如何在注册表里设置文件关联

来源:百度知道 编辑:UC知道 时间:2024/05/18 10:58:38
上次看了个教程修改注册表的一键值可以做到:运行某类型文件时就自动打开指定程序.这技术被不少病毒所利用过,是怎么修改的呢
上次看了个教程修改注册表的一键值可以做到:运行某类型文件时就自动打开指定程序.这技术被不少病毒所利用过,是怎么修改的呢,回贴时最好确认一下是否可以做到我说的内容

利用WinApi函数实现文件关联

程序说明:
例中利用两个API函数RegCreateKey和
RegSetValue修改注册表中的相应键值
实现某一类型文件.log同一个应用程序
notepad.exe的关联.

说明&作为数据类型的标示而不是“与”运算符
&指Long长整型数据其范围从 -2,147,483,648 到 2,147,483,647。Long 的类型声明字符为和号 (&)。

当关联按钮被按下时读写注册表完成 .log 文件和 记事本Notepad 的关联
如果你对注册表的结构和使用不熟悉的话可以参看“电脑乐园”中的相关教程

Private Sub Command1_Click()
If CmdPressed = True Then Exit Sub

Dim sKeyName As String 键的名称
Dim sKeyValue As String 键值
Dim ret& 返回错误信息的变量
Dim lphKey& 此变量用来保存创建的键的句柄

实际效果是在注册表的HKEY_CLASSES_ROOT下创建MyApp目录
sKeyName = "MyApp" *名为MyApp的键名
sKeyValue = "Logfiles" *把键值设为"Logfiles"
在HKEY_CLASSES_ROOT中创建名为sKeyName的键并返回句柄lphKey&
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
向句柄lphKey&所指的位置写入键值sKeyValue
ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)

在注册表的HKEY_CLASSES_RO