<marquee width=358>欢迎来到月影社区,希望这里可以成为您美丽的梦幻花园,如果你觉得这里好请分享给您的朋友!- wf66.com</marquee> 将月影社区设置为您的首页将月影社区地址加入到您的收藏栏
月影社区时尚音乐音乐查询IP手机许愿之瓶最新更新文件加密访客留言爱音乐
欢迎您,首页 >> 信息中心 >> 用VB建立文件关联一

请输入您关键字:


用VB建立文件关联一

推荐查看本文HTML版本

文件关联是指打开一种类型的文件的默认方式比如默认状态下文本文件txt是与记事本程序相关联的我们双击文本文件就能直接运行记事本程序来编辑它。文件的关联是通过注册表得以实现的本例就是利用API函数RegCreateKey和RegSetValue来对注册表进行修改从中可以看到这两个函数的用法。 

--------------------------------------
利用WinApi函数实现文件关联
--------------------------------------
程序说明:
例中利用两个API函数RegCreateKey和
RegSetValue修改注册表中的相应键值
实现某一类型文件.log同一个应用程序
notepad.exe的关联.
--------------------------------------
说明&作为数据类型的标示而不是“与”运算符
&指Long长整型数据其范围从 -2,147,483,648 到 2,147,483,647。Long 的类型声明字符为和号 (&)。 

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

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

Dim sKeyName As String 键的名称
Dim sKeyValue As String 键值
Dim ret& 返回错误信息的变量[月影社区 http://wf66.com/]
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&)[月影社区 http://wf66.com/]
在注册表的HKEY_CLASSES_ROOT下创建另外一个目录 .log[月影读书频道 http://wf66.com/]
sKeyName = ".log" *名为.log的键名
sKeyValue = "MyApp" *把键值设为"MyApp"

ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&) 

为“MyApp”设置了一个命令行
sKeyName = "MyApp" *名为MyApp的键名
sKeyValue = "notepad.exe %1" *把键值设为"notepad.exe %1"如果你知道DOS下的.Bat文件的语法的话便知%1指的是要打开的文件
如果该键已经创建则RegCreateKey那么函数会打开现有的项
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
下面一句的实际效果是在MyApp键下建立shell\open\command目录并写入键值sKeyValue
说明:放在一个键的shell\open\command下的是打开某一类型文件的应用程序的名称
ret& = RegSetValue&(lphKey&, "shell\open\command", REG_SZ, sKeyValue, MAX_PATH)

Command1.Caption = "关联已经创建"



Command1.Enabled = False
CmdPressed = True
End Sub 

Private Sub Form_Load()
CmdPressed = False
End Sub  

以下是模块文件中的代码:

Declare Function RegCreateKey& Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey&, ByVal lpszSubKey$, lphKey&) 

【VB声明】

Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

用VB建立文件关联一 2006-9-18
转到本主题第:[ 1 ]
相关评论

暂无评论

总计0页 [ ]上一页 下一页
发表评论(揪错)
呢称: * 您尚未登陆,请登录
来自: *
内容:
 

(为防止非法信息,您的言论提交后需要审核才能正常显示)

文学
精品文萃 情感天地 言情小说
网络小说 玄幻小说 悬疑恐怖
武侠小说 古典品谈 外国名著
儿童文学 会员原创 学习园地
杂谈其它
娱乐
爆笑网文 星座占卜 影音动漫
娱乐新闻 影视剧情
诗词
青竹诗歌 个人诗集 宋词雅赏
全唐诗录
新闻
国际新闻 国内新闻 科技新闻
体育新闻
图片
图文专区 艺术长廊 桌面壁纸
精品素材 像素图片
漫画
单幅漫画 爆笑四格 连环漫画
电脑
电脑入门 图形图像 编程开发
游戏
我爱Q宠 最新攻略 最新秘籍
游戏新闻 技巧心得
经济
帕格节电 财经资讯 股市证券
生活
百科知识 外语学院 潮流时尚
健康医疗 宠物花卉 汽车地带
行走天下
美食
面食甜点 家常菜品 药膳食疗
美食天下 烹饪技巧 松辽风味
燕京风味 巴蜀风味 滇黔风味
赣江风味 徽皖风味 闽台风味
齐鲁风味 中州风味 岭南风味
荆楚风味 三晋风味 淞沪风味
苏扬风味 潇湘风味 钱塘风味
民族风味 素斋仿荤
营销
管理杂谈 谈经论道 培训激励
经营战略 职场生涯 公关交际
关于我们版权声明本站导航友情连结作品演示 TOP↑
本论坛言论纯属发表者个人意见,与£月影社区£立场无关。 皖ICP备16024038号-1
禁止发布任何色情/政治/反动相关信息让我们共同来营造一个属于我们的梦幻家园
Copyright ©2001-2006 MoonShadow. All rights reserved.  Version 4.0  Licence 2006.4.2
建站天数:7182天 本站基于ASP+JS构建,完全自主开发,版权归属月影社区 管理员QQ:23165062 Time:78ms