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

VB如何使你的程序同文件扩展名建立关联?

HTML文档下载 WORD文档下载 PDF文档下载
VB如何使你的程序同文件扩展名建立关联?



如果你的程序是同文件操作有关,比如说你自定义了一个文件类型,用你的程序才能打开它并查看其中的内容。你有没有想过在你的文件同你的程序之间建立关联,这样不必每次都要先启动程序,再打开文件了。用户可直接点选你的文件,而不必每次都要面对一个“打开方式”对话框。其实要做到这一点,只须调用API函数就行了。下面的代码向你演示如何实现这一功能。


首先在窗体的通用声明段中加入下面的代码:


Option Explicit

Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, _
ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, _
ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long

' Return codes from Registration functions.
Const ERROR_SUCCESS = 0&
Const ERROR_BADDB = 1&
Const ERROR_BADKEY = 2&
Const ERROR_CANTOPEN = 3&
Const ERROR_CANTREAD = 4&
Const ERROR_CANTWRITE = 5&
Const ERROR_OUTOFMEMORY = 6&
Const ERROR_INVALID_PARAMETER = 7&
Const ERROR_ACCESS_DENIED = 8&

Private Const HKEY_CLASSES_ROOT = &H80000000
Private Const MAX_PATH = 260&
Private Const REG_SZ = 1

在窗体的Click事件中加入下面的代码
Private Sub Form_Click()

Dim sKeyName As String 'Holds Key Name in registry.
Dim sKeyValue As String 'Holds Key Value in registry.
Dim ret& 'Holds error status if any from API calls.
Dim lphKey& 'Holds created key handle from RegCreateKey.

'This creates a Root entry called "MyApp".
sKeyName = "MyApp"
sKeyValue = "My Application"
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)

'This creates a Root entry called .BAR associated with "MyApp".
sKeyName = ".BAR"
sKeyValue = "MyApp"
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)

'This sets the command line for "MyApp".
sKeyName = "MyApp"
sKeyValue = "c:\mydir\my.exe %1"
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
ret& = RegSetValue&(lphKey&, "shell\open\command", REG_SZ, _
sKeyValue, MAX_PATH)
End Sub
按F5运行程序并在窗体上点击一下鼠标,然后退出程序.


从开始菜单中运行REGEDIT,你可在HKEY_CLASSES_ROOT下找到.bar和MyApp两个子项,结构如下所示:

.bar = MyApp
MyApp = My Application
|
-- Shell
|
-- open
|
-- command = c:\mydir\my.exe %1


你可以查看关于RegCreateKey和RegSetValue的用法说明。

聚焦全球移动市场:创新以色列 科技巨头的倾慕之地 Android版Chrome 27浏览器正式上架 机器人——数据中心的新“网管” George Chu:在雅虎打造真正的工程师文化 2013,303+家中国云计算企业的“生态系统”之梦! 高访问量Web应用跨云端迁移的原因:权限和易用性 Web应用开发者福音 Chrome 28新增丰富通知中心功能 帷千兰旭:推广渠道鱼龙混杂,开发者请小心 关于IE 10 你应该知道的6件事 Spring Framework 4.0M1发布,支持JDK 8、Java EE 7 “渣打科营编程马拉松赛”正式启动 官网同时上线 Android应该支持OpenCL的十大理由 传谷歌考虑和Facebook竞购众包地图Waze 谷歌工程师再次公布Windows漏洞 并称微软很难合作 Glassdoor评前景最令员工乐观的十大科技公司 华为上榜 下一代Android深度前瞻 第18级API功能揭秘 Web开发者不容错过的20段CSS代码 8大核心要点:我们能用HTML5 Canvas做什么? 移动周报:直接拿来用!最火的Android开源项目 前MySQL CEO:云将重新定义开发者的每一件事 CIO必知六件事,至少必须想到的! PPT集萃(四):来自五位中外专家分享的虚拟化和云存储实践 Jolla和Sailfish OS,那些你应该知道的事儿 不仅保值还能升值:过时的苹果电脑创下67.1万美元售价 三十天完成跨平台办公套件Joeffice的开发 jQuery 1.10.0和2.0.1同时发布 软件初创公司招投的九个必备技巧 BYOD浪潮即将来袭 六大年轻杀手重塑企业软件 灵活运用AppFlood:提高APP eCPM的10个技巧 事半功倍:你应该知道的HTML5五大特性 创建API监视器的五大技巧 高分“悬赏”解决我的这个问题500-1000分:) HUB 的普通口到路由器的普通口的网线是用交叉线还是用正常线? xp算出号码后怎么重装?格掉原来的c盘么? 怪了,我用这文件来切换用户的怎么不能用啊?? 看完这篇文章,真是为中国篮球感到悲哀! 关于win.net server 3700的两个问题,高手请进 如何在一个事务中同时进行EJB和jdbc的提交? 菜鸟问题,送分啦! 请问利用Office2k怎样在Excel中输出东西呢? 高分相送!哪里有<标准C语言实用大全>和<C高级程序设计>的电子书籍下载? 各位的开发周期一般有多久?? 如何在页面间传递数值呢,看如下程序 新手小问题!关于便条小程序。。务必帮帮忙啊!!!详情请进。。。 怀念朱总理!! 关于内存泄漏的问题!! 要用XSL原样输出一个元素里面包含的所有内容怎么办? IHTMLDocument 怎样得到一个tag的属性值 简单问题 没有激情以后还能干什么? 如何实现基于对话框的程序不在任务条里显示? 十六大闭幕 用Delphi、Mysql的大侠帮忙看看吗?---急急急急 别人的东西,学习c的朋友看看吧。 高手请指点! 表示严重不满:jbuilder下居然不能用鼠标的滚轮~ 如何将HTML文本直接显示在CppWebBrowser中?(不使用临时表) PB中有没有类似VC中ListMember功能的东东呢? 怪啊怪啊,ListView的问题 如何取得任务栏的高度? 哪里有《Effective STL》下载? 哪里有《Effective STL》下载? Load Servlet ? word 和 数据库 谁能帮我看一下程序? 帮我看看这几个宏什么意思? 程序员!女人对你重要么???? 这是我第四天的C#学习笔记,敬请高手指教 谁先回来马上给分(简单问题) 机器的usb问题!! 兄弟们,小弟刚接触JSP,帮忙解决一个问题。 请教PHP.INI配置里的SESSION! 刚开始接触.net 求购程序,请进. 求购程序 求购程序 推荐一些适合初学者看的书吧 一家位于Montreal, Canada的公司,求购一个程序 如何保存UNICODE的字符串到硬盘上 如何将HTML文本直接显示在CppWebBrowser中?(不使用临时表) 如何保存UNICODE的字符串到硬盘上 redhat第4第5两个iso文件是做什么的 加一笔,变成另一个字,并组词.去 幻 史 形容一个人很老道有经验的词语是叫"成俯"的词语 但是字不对! 在字典上也难查到!谁知道正确的写法! 知道的说下 谢谢! “彖”字怎么读? My father left home by car yesterday.(同义句)请用driver to回答 形容经验的词语弥足珍贵有这辞么 “木”字加“彖”字念什么 因加一笔并组词. 英语翻译Three or four times a week I spend my lunch break strolling beside the Maribyrnong,Melbourne’s other great,but mainly overlooked river.Overlooked it may be, but there are attractive stretches aplenty along the course of the Maribyrnong. pants 到底是单数/复数,可数/不可数? 去加一笔在组词 英语翻译1 How well have judges protected rights in the UK and USA?2 The electoral systems used for national elections in the UK and USA no longer work well and should be reformed. My pants are blue(对blue提问) ( )colour are( )pants? .信息智能处理的方式是什么? 中学,大学,社会为排比句如题.仿写句子,采用修辞手法四个比喻在语意上构成一个系列.急..请快. 英语翻译请告诉我书的价格,以及国际快递的价格,还有你的账号,以便我能及时地将钱寄给你. 解决一下智商球2第22关怎么过? 为什么传递函数描述只适用于线性定常系统, I pay two yuan for book,还是把I改为I'm? 我决定要好好学习英语,如果有机会,我一定去美国. 英语怎么说,求大神翻译,要口语化,不要翻译我决定要好好学习英语,如果有机会,我一定去美国. 英语怎么说,求大神翻译,要口语化,不要翻 线性定常离散系统脉冲传递函数的定义已知系统得开环传递函数为绘制相应的频率特性曲线.、绘制开环传递函数的对数频率特性曲线 I'll pay 200 yuan for the MP3 player.(同义句转换):I'll ( ) 200 yuan ( ) the MP3 player. 英语翻译有没有哪位photoshop的高手能够把我ps近图片后排靠左的位子.Are there any photoshop experts who has ability to knockout me into the left seat near the back of the picture. 仿句“小学是一个句子,中学是一篇文章,大学是一本书,社会是一座品类齐全的图书馆” 写出几个描写人能言善辩的成语 失重状态下,一个盒子与盒子里面的物体之间的关系?失重状态下,一个盒子与盒子里面的物体之间的关系.或者说飞行器与宇航员在环绕地球做圆周运动时,公式中的M是否只是飞行器的质量?如若 The red coat is mine 对red 提问 能言善辩,还有没有像这样能()善()的成语啊 有没有什么东西可以隔绝地心引力 木星土星等气体行星构造是什么?我想象不出来,落进去就成无底洞了么?温度、压强会如何变化?请给出一个形象化、科幻化的表达,我会送积分. 按顺序写出表示过程的词语()()()结果 什么东西能抵抗地心引力? 一个传递函数,在通频带内的增益是20db,那么他的放大倍数是多少?怎么换算的?谢谢 表示教训经验的诗句快!要两句 什么东西可以挑战地心引力?有没有什么东西可以绝对不受重力? 二阶系统的极点分别为-0.5和-4,增益为5,求其传递函数 求初中英语学霸~ 一数学题目,急求答案,还要又过程,急!一游泳者在河中逆流而上,游至桥A下面时,水壶被水冲走,他继续向前游了20分钟,才发现水壶遗失,于是立即返回追寻水壶,在桥A 下游距桥2千米处追到了水壶 “我是一名高中毕业,即将进入大学的学生” 类似的句子怎么写能比较出彩马上要高考了 英语不是特别好 不过高考批英语作文也不会太仔细看 就是看看首尾 这是开头 如果能加分就更好了还 初中英语学霸速度来 八大行星中有明亮光环的是? 如何使自己变得大胆自信一些呢?很困惑?拜托各位了 3Q eat more vegetables and we will healthier and healthier.请问为什么用eat而不用eating,在什么情况下用eating. 同学取得好成绩,你用社么诗来鼓励他继续努力 怎样才能使自己自信起来拜托各位了 3Q 比喻句谁能给我10句告诉我吧 I met a friend of my father‘s yesterday afternoon?该一般疑问句? 怎么样才能使自己自信起来拜托各位了 3Q 十句比喻句短一点 yesterday,my father was very glad to( ) his old friend (meet)yesterday,my father was very glad to( )his old friend (meet)括号内填后面的适当形式为什么填这个 比喻刚刚走上社会,缺乏处世做事的经验 英语翻译By the end of the course shown on this CAS will you have spent 3 years or more in theUK studying on a course below degree level (below NQF level 6)? 米山读什么 16课说勤奋是按什么顺序写的 求比喻句10句 山字下面一个良字读什么,崀 lǎng ◎ 〔嵻~〕见“嵻”。 数学测试题试卷有20道题,答对一题得5分,答错或不答得-5分.周密得了40分,她做对了多少题? 『翻译』:This is where the end of cancer begins my father didt at home这句话哪错了 海底很深很深的地方会不会感到恐怖,里面有海怪吗? 谁能给我10句比喻句长一点的!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘