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

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的用法说明。

VB如何自动更动成中文输入 VB删除整个目录 VB设置打印页边距 VB实现文件查找功能 VB使用SendMessage函数滚动文本框控件中的内容 VB使用 WIN95 的选择目录对话框 VB使用INI文件 VB使用WriteFile 块读写数据 VB使用历史文件记录 VB使用内存映射文件加快文件操作速度 VB数据报表设计器在多层结构开发的应用 VB突破 TextBox 32K 的限制 VB拖拽节点时实现目录树自动翻滚 位图文件内部初探-VB资料 VB文本的加密与解密 VB显示盘中所有的目录 VB压缩MDB文件 一个移动文件的简单方法-VB资料 VB移动文件到回收站 VB隐藏文本框控件的环境菜单(又一方法) VB隐藏文本框控件的环境菜单 VB用API复制移动文件 VB用OleDragdrop事件接受拖放文件 用VB进行文本文件的再处理 用VB开发应用程序如何使用INI文件 用VB实现文件查找功能 VB用Winsock控件实现文件的下载 VB用两分法搜索列表框或组合框中的数据 在 ListBox 之中, 如何检测鼠标所在位置的选项? -VB资料 在 Textbox 中,录入 N 个字符后移到下栏-VB资料 在 VB 中控制 Word 我在网上看数据库课程习题的参考答案,发现许多E/R图下载回来是*.ps文件,请问如何打开? 在win2000系统下,如何让asp文件中显示小数点前的那个零? 为什么有这么一个问题.... 有人愿意收一个一般菜,但又不是很菜的人为徒吗?? 求救VC中的关于串口通信的问题,想请请看,急急急急急急急急急急急 ZDataGrid For VB & VB.Net 如何将界面做成如xp的样子 请教关于游戏平台的问题。。。 今天不是鬼节啊?怎么这么多早就作古的人都出来了? 超级菜的问题(关于WINNT安装)想要分的快进 怎么写dll文件 怎样插入当前时间和日期到Access数据库中 下面为什么出错了? 有人愿意收一个一般菜,但又不是很菜的人为徒吗??? TADOTable如何实现记录定位?——求救! 谁知道怎么让WEBLOGIC中消息驱动BEAN的例子MESSAGE跑起来?.. 請問各位為何javabean在suse linux的調用問題 请问如何在weblogic中设置一个jms topic?. 请教关于游戏平台的问题!! 使用QuickVxD不能生成 .h ,.cpp .mak文件,那里不对? 请问:框架(Frame)为什么不能动态生成两次 ????????????? 在win2k下有人知道ActiveReports报表怎么自定义打印纸张大小 大家讨论一下运算符重载的问题!!!! 位操作问题?欢迎各位朋友讨论! data控件能连接sqlserver数据源么? 有没有办法使重复的值只显示一个,空值不显示也不要占位置?(急呀!!!) 用TURBO C2.0能不能写32位的软件? 如何设置WN98中的硬盘驱动器盘符 SOS pekie 请教啦! 投影仪投出的图像中间部分呈粉红色,是不是投影仪坏了? 在MYSQL中我想修改root密码,可是总报错说user表是read only,如何把只读的属性去掉? 关于开发网络麻将游戏需求的问题。。谢谢。 关于jsp或applet调用本地DLL的问题 在BCB中如何添加自己的类? 关于APPLET从服务器下载图片的问题! 建议下一次改版的时候考虑一下这个问题:CSDN 的很多页面好像用NetScape不能浏览? 我不用IE很多年了, 因为太容易死机 有没有做股票的朋友? 急!!!50分求购一个在程序中实现按下按钮功能的小程序,多谢了 在图象上的汉字显示问题 请问谁知道把AVI文件转换成BMP位图数据的算法 圣诞快乐 用什么工具可以从exe文件中把资源文件,如图像、图标提取出来? Word与Delphi的结合!高手请进! 贴子为什么掉到第二页上再UP就回不到第一页去了?见龟!——千山一刀 ^^^^^^^^^如何配置sybase的clinet端????^^^^^^^^^^^^^^^^^^^^ 进程与线程 在win2000系统下,构建asp+sql的web站点,但在web页中无法显示出小数点前的零? 如何配置sybase的clinet端? 关于webbrowser。 TO:riolee(随风) 关于directshow的 开始菜单中的运行找不到 如果把太阳和水星的位置互换一下为什么地球上将会被水淹没 2012年第一季度有几天? 求使(a²+ab)/(b-ab)除以(ab/2)*(b²-ab)/(a²-ab)具有正整数值的所有a的整数值 求和2的126次+3的126次的个位数?我今年刚考上高中,对高中的课程一无所知,我都不太会, 2012年第一季度多少天? a²+b²-2a-6b+10=0,则a²- b²除以ab=— 地球在很早以前是什么样子的?地球只有46亿岁 怎么跑出50多亿年前了? 2012年的第一季度是多少天 已知∠1和2∠互补,∠3和∠4互余,求证;∠3=二分之一(∠1-∠2) 3046年的地球是什么样子的? 0.5+4/5*0.5+1/2等于多少, 已知角a和角b互为补角,角3与角2互余 ,请说明角3=1/2(角1--角2)已知角1和角2互为补角,角3与角2互余 请说明角3=1/2(角1--角2) 地球原来是什么样子原来是什么样子?现在又是什么样子?将来会怎样? 0.5年等于多久 0.1年等于多久 已知角1和角2互补,角2和角3互余,用角1、角2来表示角3 大家都来发挥想像力 猜猜这些句子的意思拜托各位了 3Q醉卧听雨锦瑟响 玉笛横波西风凉 陪你醉欢若千年 流水无情氏无名 天涯浪子塔罗女 道是无情却有情 地球是什么样子的 (a+b分之2ab²)³除以(a²-b²分之ab³)乘以{2(a-b)分之1}² 【三国演义】里结局是什么?司马懿统一了天下以后呢?3Q 以后地球是什么样子的? (-1\2 ab)³(2ab³)² 激发宝宝的想象力对宝宝有什么好处呢?3Q激发宝宝的想象力对宝宝有什么好处呢?宝宝5岁,我发觉宝宝特别聪明,而且很有想象力,听说激发宝宝的想象力可以促进宝宝的求知欲和独立的思考能 一个3位数,左边第一位是7,当把7移动到个位时,所得的新的三位数比原三位数小126.原三位数是多少?用方程解法 a=2-√2,b=2+√2,求(a³b+a²b²/a²+2ab+b²)÷(a²-ab/a²-b²) 5.若4a2-2a-1的算术平方根是3-2a,求实数a的值. 126^10的千位数,百位数,十位数和个位数的和怎麼快速运算啊时间限制10秒之内.能解释最好. 2008年第29届奥运会在北京举行,这一年的第一季度有几天? 第三次世界大战可能发生吗?为什么?要举例子哦. 已知a=-3,B=2,求代数式(1/a+1/b)除以a²+2ab+b²/a+b的值 2008年第29届奥运会在北京举行,这一年的第一季度有( )天. 第三次世界大战会爆发吗 先化解代数式(a²-b²分之a²+b²-a+b分之a-b)÷(a-b)(a+b)²分之2ab然后请你去一组a,b的值代入求值.思考:所取a,b的值要满足什么条件? (a²b)²除以(2ab)²×(3a)²=?(a²b)的平方除以(2ab)²×(3a)²=? 真的会爆发第三次世界大战吗?第一次世界大战后20年就第二次了,然后50年后就要发生第三次吗?为什么就不能让我好好过完这辈子,我才18岁... 温哥华是什么国2011年第一季度有几天 如果a²=3a,那么a=3,这句话对么? 初一600字左右作文《预言2100年的地球生活》不一定要全文,给些建议,作文思路(开头结尾),但是一定要快, 2011年第一周是哪几天? a²-3a-1=3 求a求详细过程 随着科技水平的提高,人类对地球形状的认识经历了“天圆地方”、“圆球体”、“扁球体”和“不规则扁球体”的漫长过程.人类对地球形状的认识过程.体观的哲理是 A 创新是对既有理论 2011年的第一季度有多少天,这一年共有多少天 386000加上百分17的税是多少 人类证明地球形状的最科学依据是 还有2011年的第一季度的收益 已知a+b=2,则(2分之1)a²+(2分之1)b²+ab的值是—————— 根号3乘以9开3次方 再除以6开3次方 先化简在求值(a-b分之a - a²-2ab+b²分之a²)除以(a+b分之a - a²-b²分之下面还有先化简,在求值(a-b分之a - a²-2ab+b²分之a²)除以(a+b分之a - a²-b²分之a²)+1求a=3分 已知a+b=-2,ab=-2分之5,求a(a+b)(a-b)-a(a+b)²的值原式=a(a²-b²﹚-a﹙a+b﹚²=a﹙a²-b²﹚-a﹙a²+2ab+b²﹚=a[﹙a²-b²﹚-﹙a²+2ab+b²﹚]=a﹙-2b²-2ab﹚=-2ab² 某商品编号是一个三位数,现在五个三位数:126,918,574,320,694,其中每一个数与商品编号恰好都有一个数字在同一数位上.这个商品编号是多少?具体怎么算 0+(-3.71)+(+1.71)+(-5) 已知a-b=-10,求a²+b²的和除以2,再减ab的值 某商品编号是一个三位数,现有五个三位数:126,918,574,320,694,其中每一个数与商品编号恰好都有一个数字(补充上面)在同一个数位上.这个商品编号是多少?明天就要 数学达人来回答啊(a+b分之2ab²)³除以(a²-b²分之ab³)乘以{2(a-b)分之1}² 平年一年有( ) 天,闰年一年有( ) 天.1900年2月的下旬有( ) 天. 一个两位数的末尾填上一个零,所得的三位数比原数大126.求原来这个两位数 2012年的第一季度有几天 已知:如图角1等於角2 求证:角3等於二分之一(角acb减角b) 地球上有多少水,再过几亿年会把所有陆地淹没吗 2012年第一季度有几天,全年有几天? 已知角一小于角二,那么角二与二分之一(角一减角二)之间的关系是?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn