api实例解析--建立文件关联

api实例解析--建立文件关联

ID:14099659

大小:59.00 KB

页数:6页

时间:2018-07-26

api实例解析--建立文件关联_第1页
api实例解析--建立文件关联_第2页
api实例解析--建立文件关联_第3页
api实例解析--建立文件关联_第4页
api实例解析--建立文件关联_第5页
资源描述:

《api实例解析--建立文件关联》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、--API实例解析--建立文件关联–文件关联是指打开一种类型的文件的默认方式,比如默认状态下文本文件txt是与记事本程序相关联的,我们双击文本文件,就能直接运行记事本程序来编辑它。文件的关联是通过注册表得以实现的,本例就是利用API函数RegCreateKey和RegSetValue来对注册表进行修改,从中可以看到这两个函数的用法。  为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码'--------------------------------------'利用WinApi函

2、数实现文件关联'--------------------------------------'洪恩在线求知无限'--------------------------------------'程序说明:'例中利用两个API函数RegCreateKey和'RegSetValue修改注册表中的相应键值'实现某一类型文件.log同一个应用程序'notepad.exe的关联.'--------------------------------------'说明&作为数据类型的标示,而不是“与”运算符'&指Lo

3、ng长整型数据,其范围从-2,147,483,648到2,147,483,647。Long的类型声明字符为和号(&)。'当关联按钮被按下时,读写注册表,完成.log文件和记事本Notepad的关联'如果你对注册表的结构和使用不熟悉的话,可以参看“电脑乐园”中的相关教程PrivateSubCommand1_Click()IfCmdPressed=TrueThenExitSubDimsKeyNameAsString'键的名称DimsKeyValueAsString'键值Dimret&'返回错误信息的变

4、量DimlphKey&'此变量用来保存创建的键的句柄'实际效果是在注册表的HKEY_CLASSES_ROOT下创建MyApp目录sKeyName="MyApp"'*名为MyApp的键名sKeyValue="Logfiles"'*把键值设为"Logfiles"'在HKEY_CLASSES_ROOT中创建名为sKeyName的键,并返回句柄lphKey&ret&=RegCreateKey&(HKEY_CLASSES_ROOT,sKeyName,lphKey&)'向句柄lphKey&所指的位置写入键值s

5、KeyValueret&=RegSetValue&(lphKey&,"",REG_SZ,sKeyValue,0&)'在注册表的HKEY_CLASSES_ROOT下创建另外一个目录.logsKeyName=".log"'*名为.log的键名sKeyValue="MyApp"'*把键值设为"MyApp"ret&=RegCreateKey&(HKEY_CLASSES_ROOT,sKeyName,lphKey&)ret&=RegSetValue&(lphKey&,"",REG_SZ,sKeyValue,0

6、&)'为“MyApp”设置了一个命令行sKeyName="MyApp"'*名为MyApp的键名sKeyValue="notepad.exe%1"'*把键值设为"notepad.exe%1",如果你知道DOS下的.Bat文件的语法的话,便知%1指的是要打开的文件'如果该键已经创建,则RegCreateKey那么函数会打开现有的项ret&=RegCreateKey&(HKEY_CLASSES_ROOT,sKeyName,lphKey&)'下面一句的实际效果是在MyApp键下建立shellopenc

7、ommand目录,并写入键值sKeyValue'说明:放在一个键的shellopencommand下的是打开某一类型文件的应用程序的名称ret&=RegSetValue&(lphKey&,"shellopencommand",REG_SZ,sKeyValue,MAX_PATH)Command1.Caption="关联已经创建"Command1.Enabled=FalseCmdPressed=TrueEndSubPrivateSubForm_Load()CmdPressed=FalseEnd

8、Sub'以下是模块文件中的代码:DeclareFunctionRegCreateKey&Lib"advapi32.dll"Alias"RegCreateKeyA"(ByValhKey&,ByVallpszSubKey$,lphKey&)'【VB声明】'PrivateDeclareFunctionRegCreateKeyLib"advapi32.dll"Alias"RegCreateKeyA"(ByValhKeyAsLong,ByVallpSubKeyAsString,phkResu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。