说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB建立文件关联 -VB资料

HTML文档下载 WORD文档下载 PDF文档下载
VB建立文件关联 -VB资料

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

  为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:


(源程序下载)

  我们先来声明API函数,本例中用到的两个函数声明如下:
   Private Declare Function RegCreateKey& Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey&, ByVal lpszSubKey$, lphKey&) As Long

   Private Declare Function RegSetValue& Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey&, ByVal lpszSubKey$, ByVal fdwType&, ByVal lpszValue$, ByVal dwLength&) As Long

  RegCreateKey函数的作用是在注册表中指定的主键下创建一个新的主键,而如指定的键已经存在,那么函数会打开现有的主键,其中各个参数的意义如下表所示:

参数 意义
hKey Long,要打开键的句柄,或者一个标准键名。例如:HKEY_CLASSES_ROOT 是标准键名
lpSubKey String,欲创建的新子键。如创建多个键,需用反斜杠将它们分隔开。例如:level1\newkey
phkResult Long,指定一个变量,用于得到新子键的句柄,在设置键值时要用到它
返回值 Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

  RegSetValue函数用于设置指定键或子键的默认值,它的各个参数的意义如下:

参数 意义
hKey Long,一个已打开键的句柄,可从上面phkResult得到,或是指定一个标准键名
lpSubKey String,要设置键值的一个子键的名字。如指定vbNullString,表示设置hKey的默认值。如指定的子键不存在,则会创建它
dwType Long,必须是REG_SZ
lpData String,新的键值
cbData Long,指定lpData的长度,不包括空中止字符
返回值 Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

  下面我们看看怎样实现文件关联,步骤一:在在注册表的HKEY_CLASSES_ROOT下创建MyApp主键:
   ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)

  语句中sKeyName已经预先赋值为"MyApp",而函数执行完后lphKey&会返回新创建的主键的句柄,然后我们向句柄lphKey&所指的位置写入键值sKeyValue(已经赋值为"Logfiles")
   ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)

  如果这时查看注册表,会发现如下图所示的新主键和键值:



  步骤二:在注册表的HKEY_CLASSES_ROOT下创建另外一个主键,键名为“.log”,键值为“MyApp”,创建的方法与第一步相同,只不过键名和键值不同。建立此键值的作用是,把“.log”文件关联到“MyApp”主键所规定的内容,这时的注册表如下:



  第三步:我们为“MyApp”设置了一个命令行,也就是在主键MyApp下建立如下主键:



  实现的代码是:
   sKeyName = "MyApp"        '*名为MyApp的键名
   sKeyValue = "notepad.exe %1"   '*把键值设为"notepad.exe %1",%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)

  经过以上几个步骤,我们已经建立了“.log”文件和“记事本”程序的关联。总结前面的内容可以发现在VB中采用API对注册表操作的基本思路都是类似的,只要我们知道了两个API函数的用法,然后熟悉注册表操作,就能灵活的写出与注册表相关的程序来。
应用生与死:移动测试究竟该怎么搞? Chrome将跟SPDY说再见,拥抱HTTP/2 ImageNet挑战赛中超越人类的计算机视觉系统 微软发布首款Android可穿戴设备人工智能产品 红包大战!双11过后,微信支付宝的又一个营销游戏 O2O大潮来袭,洗牌将至? 谈谈UI架构设计的演化 Node.js 开源基金会成立,Joyent让出领导权 LinkedIn分布式实时性能跟踪与效率优化实例 DIY机器人不是事!软硬两不误的开发平台RoboCORE 详解OS X和iOS图像处理框架Core Image 快的打车联合创始人兼技术副总裁闻诚:CTO要有“334”能力 阿里巴巴正式加入W3C,成为W3C会员 在Swift中,如何像Objective-C定义可选接口? DARPA:4年内推出具备触觉的机械手 Silver:用Swift编写iOS、Android和.NET应用 Swift没有异常处理,遇到功能性错误怎么办? 基于Python的测试驱动开发实战 不能守株待兔!移动互联网时代:产品找用户 淘汰传统屏幕,虚拟现实新纪元何时开启? 《近匠》SENSORO CTO赵东炜:解密iBeacon生态 我由Angular转向React,为什么? 产品设计中的九个注意事项 昂贵、复杂、不可靠!智能家居产品的尴尬现状 Facebook的CIO都做些什么? 穷游网CTO黄向阳:成果与价值是最好的驱动力 2015移动游戏行业方向标:创业者必须关注的几个领域 基于Python的行为驱动开发实战 面向WP和Android!微软车库发布多款免费应用 GRPC:谷歌发布的首款基于HTTP/2和protobuf的RPC框架 革命,就是现在!——CES 2015行纪 求助有关IFS-HOOK 高手请入!!急救!求msflexgrid 的打印源码????? 如何在list中显示文件夹 哪里可以看到Obejct类clone的实现方法? 系统的FOUND.00*文件夹里放的FILE000*是什么文件?可以删除吗?刚装系统时没有这些文件的阿 给分啊 今日郁闷之至……散分! 来来来,大伙们一起来衷心祝愿xxmm (晓箫)的老爸老妈顺利赴美参加晓箫的毕业典礼!! Dev-Cpp 使用 NetAPI32.lib 的问题 急寻严蔚敏,吴伟民版《数据结构习题集》c语言版的答案,请问哪有啊 高手们给我一个超级简单的HOOK API的例子好吗?求你们了。 错在哪里 好郁闷啊~ 谁有站内关键字模糊查询的代码?紧急求救、在线等待!!!! 字符串转化为数组的问题 讨论<<标准C++库大全>> 上次是哪位兄弟要的《新编API参考大全》CHM版呀?我找到了一个,还行。 欢迎大家访问我公司的网站! 请学c++builder 有份量的人推荐一本经典的教材(适合初学者) 欢迎大家访问我们公司的网址! 关于分页的问题 请帮我看看这个小程序 欢迎大家访问我公司的网站! 已知一个文件夹的路径,如何得到该文件夹中的文件的名字? 关于StreamReader的问题 欢迎大家访问我公司的网站! 有关编辑框的问题 各位大侠一个很菜的问题,来帮帮忙! 关于集合的一个小问题 最菜的问题,100分白送!!! 很基础问题,脑子不清楚,大家帮忙看看 紧急问题! 终于 知道MESSENGER 只是 WIN2K 的服务了! 那么 这 个怎么办?? 请问以下我如何实现一个带滚动条的子窗口 问一下,resin和iis集成后class文件放在什么目录下 用 http://www.rc80.com (c# + sqlserver2000) 只想换一个.net 的完整的分页代码! 一个Corba客户端连接的问题! 如何在resin中设置wap服务器功能 大家帮忙!! 什么时候用DataGrid,什么时候用DataList? 怎么样从数据库里取得某字段的值??? 昆腾的硬盘修理找谁啊?急,UP有分........ www.webmatrixhosting.net免费空间中FTP文件上传问题 Apache 2.0.43 +Tomcat 4.1.24+mod_jk2-2.0.43.dll整合问题出现:The servlet container is temporary unavailable or being upgraded 我装的Delphi7好像丢了一个文件:Proxies.pas,哪位好心人给我一个? 人,真脆弱! 开水房追女之呕心沥血计划 (超暴笑) 孤独 急!!Image对象如何设置成为透明的???Thanks! 【憋的慌】大头、阳光呢!!! 关于FLASHMX的遮罩问题 苄嘧磺隆防除稻田杂草,怎样使用? we snowball throw and make sometimes them 怎么连词成句 Happy is the man who living by his hobby 水稻田主要防治的杂草是稗草、-----------\---------------------. pen用汉语怎么读 Happy is the man who is living by his hobby.happy是形容词,形容词怎么能做主语的? shape 的单复数用法有一堆苹果,是问what shapes are the apples?还是:what shape are the apples? glue怎么读 A man cannot really be happy if _he enjoys doing is ignored by society as of no value .A.what B.when C.that D.all what 为什么,求详解 塑料上面的镭射是什么意思? 英语翻译 first name —个三角形桃园底54米高40米.如果每棵桃树占地9平方米,这个桃园一共有多少棵桃树? 正方形的面积是20米,如果每4平方米种一棵桃树,这个果园可以种多少棵桃树? pudding的音标是? 2平方米是什么概念?房子 什么的 一块面积为2400平方米的地栽了400棵桃树,桃树的株距是2.4,行距是多少米? 请问pen presure 在哪里啊 我用的中文版c4d 我也是 ps有压感 但是 c4d没有 怎么调啊 王叔叔出去旅游5天,这5天的日期之和是35,请算一算,王叔叔回来的日期是几日? 如果桃树的棵树比梨树都5/3,那么桃树有多少棵?是不是用 桃树×(1+5/3) 2013年热门关键词有哪些 figgy ,until ,的音标~ 哪些动物住在洞里的? 2013年热门职业2013什么职业好呢? 怎么用英语音标拼汉字就像lancome(化妆品)兰蔻,可译音成汉字 兰蔻一样 列:兰蔻音译回去---(汉字怎么音译成英语) 什么是合力?什么是向心力? 求2013年的热点话题.热点! 无花果的含义是什么? 不是合力提供向心力吗 glue的中文 无花果有什么 含义 向心力一定是合力吗赤道上,为什么向心力+重力=引力?为什么不是引力全部变成向心力? 以“我和我的祖国—喜迎国庆60周年”为题写征文征文主题“我和我的祖国—喜迎国庆60周年”以歌颂祖国和党,赞美社会和家乡发展变化(我是晋城的),表现人性真善美等为主要内容. Tony was t—— (使非常激动)by the good news that he got an "A" in the fina The Chinese ----is said to be a healthier one than----,which contains too muA food the west B diet that of the west Cfood,that of the west D diet the western为什么不选C 请问parfix glue 是什么意思?谢谢~~ 英语翻译不要百度百科里的,求直白接地气的翻译! 有一些鸡和兔,共有脚72只,若将鸡的只数与兔的只数互换,则共有脚84只.鸡,兔各有多少只? 祖国60周年国庆作文最好带这60年来的进步脚步450字左右.好的追加20 中国农业银行每个月存1500元,存满一年本金是18000元,利息是多少啊?谢谢!还有什么方法比这个利息更高吗?谢谢! Neiter.I use a pen.中文意思 glue的中文意思 李某在农行存入2000元钱,年利率为1.98%,12个月以后,张三从这批款中会得到的收益是答案是31.68,为什么? correction pen 的汉语意思是什么? glue是什么意思? it's hurt/it hurts的区别好像电影里总能听到it's hurt 但偶尔有一天看见朋友写的it hurts,网上一查,好像也对.这俩在语境里有什么区别,意思表达上有什么差别呢?我只是想知道这两句在实际使用时 设a,b是方程(log2X)^2+5(log2X)+1=0的两个解,求a,b,注意,其中2是a,X是N 一只船顺水行320千米需用8小时,水流速度为每小时15千米,这只船逆水行这段路程需用几小时?320÷8-15 =25(千米) 25-15=10(千米)320÷10=32(小时) 这是答案它为什么减去一个15后又减一 请问提供IDC和提供带宽有什么区别呢?带宽的增加和成本的增加是线性关系吗?如果不是线性,麻烦好心人多说点啊,我不懂这些虚拟的玩意儿啊,最好能举个形象点的例子,谢谢啦 research可数么? 水流速度是每小时十五千米,现在有船顺水而行,八小时行320千米,若逆水行320千米需几小时?不用方程解. 两列火车同时从甲.乙两地相对开出快车行完全程需要二十小时慢车行完全程需要三十小时开出后十五小时相遇已知快车中途停留了四小时慢车停留了几小时 research 水流速度是15km/时,现在有船顺水而行,8小时行了320千米,如果逆水行了320千米需要及时? hurt的用法,与hurts的区别如;my left leg is ( )His left leg is ( )为什么? research 何时可数 何时不可数 某船在静水中的速度为x千米每小时,若水流的速度为y千米每小时,船逆水行了a小时,共行了 千米,这段路程某船在静水中的速度为x千米每小时,若水流的速度为y千米每小时,该船逆水行了a小时, 稻田杂草如何防治? Eat fruit and vegetables?是什么一 chickens in the 美卫生部长为医改网站故障道歉美曾要日修宪 日30多年前本可制核武奥巴马再提名支持者当大使日韩拟下月再谈情报协定乔布斯儿时故居成历史遗迹“安倍经济学”谁喜谁忧?韩国议员访问朝鲜开城工业园 关系回暖智利前女总统有望“二进宫”调查总结女性二十“怕”湖南官员为儿办酒宴被免 仍作为普通公美国政府保证“目前及以后”不监控联合四川盘江大桥垮塌事故存违规问题 7名成都环保局:重污染天气限行 公车无特四川盘江大桥垮塌事故:已有13名责任美国福特号航母电磁弹射器真容【高清组英皇室全家福照片惨遭恶搞 小乔治露坏美情报高官供出欧洲“队友”美元对主要货币汇率30日上涨中国网事:中欧深化经贸合作助力全球经温州5岁男孩遭持刀砍伤 鼻子被削去1视频:骗子长得像金城武 3姑娘甘心为创业问答孩子留学 交行“全程服务”讨厌竞争 她找到了成功的“窄门”公益健步走活动 福彩“为爱而行”用矿泉水做火锅?土豪团购更划算濮阳市民投保泰康人寿 身故获赔213点滴改变 共同见证俄式高端冰淇淋进入中国体育单招元旦起报名诚实守信,从别样班会开始连续助学3年 河南体彩公益继续就这样眼睁睁地看着疫苗断档?北京汽车启动3周的婚假 要缩水成3天?不能和投资人共舞,创业很难成功我的家风圣诞季 只想做安静的“剁手党”辅仁药业重组 宋河股份“缺席”南阳籍老乡住处附近 发现生命迹象豫2973人受党政纪处分
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘