文件关联设置

2011-02-07 14:25:36|  分类: VB.net2008或2010 |  标签:文件关联  |举报|字号 订阅

 
 

原理:以后缀名为.txt为例

方式一:

1、在注册表HKEY_CLASSES_ROOT键下创建一个子键,子键名为.txt然后设置其默认值为Name(Name表示你自己取的名称)

2、再在注册表HKEY_CLASSES_ROOT键下创建一个子键,子键名为Name\Shell\Open\command然后设置command的默认值为关联程序路径即可。

方式二:

在注册表HKEY_CLASSES_ROOT键下创建一个子键,子键名为.txt\Shell\Open\command然后设置command的默认值为关联程序路径即可。

方式二比较简单,但方式一比较常见,这里以方式一的原理为例。以下为示例代码:(调用时直接使用File_Associate(后缀名,关联程序路径)即可)

源代码:

Public Function File_Associate(ByVal Extion As String, ByVal FilePath As String) As Boolean '关联文件,Extion格式为“.txt”,FilePath为关联的程序路径

FilePath = Trim(FilePath)

Extion = Trim(Extion)

If FilePath.Length > 4 And Extion.Length > 2 Then

If Mid(FilePath, FilePath.Length - 3, 4).ToLower = ".exe" And Extion.StartsWith(".") Then

If My.Computer.FileSystem.FileExists(FilePath) And InStr(2, Extion, ".") = 0 Then

Dim reg As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.ClassesRoot

Dim reg2 As Microsoft.Win32.RegistryKey = reg.CreateSubKey(Extion)

Extion = My.Computer.FileSystem.GetFileInfo(FilePath).Name + Extion

reg2.SetValue("", Extion)

reg2.Flush()

reg2 = reg.CreateSubKey(Extion + "\Shell\Open\command")

FilePath = Chr(34) + FilePath + Chr(34) + " " + Chr(34) + "%1" + Chr(34)

reg2.SetValue("", FilePath)

reg2.Flush()

reg.Close()

Return True

End If

End If

End If

Return False

End Function

以上内容摘自:http://blog.163.com/shikang999@126/blog/static/17262489620111722025573/

通过阅读此段代码,只要读取注册表中classroot中是否有指定后缀名的节点即可确定是否有对应的文件关联。

主要代码:

if(Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(".txt")==null)

{

MessageBox("无文本的默认打开程序");

}

。net 添加或获取文件关联的更多相关文章

  1. macOS上实现Qt应用程序做文件关联打开

    一.背景介绍 用Qt开发的应用程序要实现文件关联,双击时用默认关联的程序打开文件,在Windows上这个功能非常容易实现.Windows应用程序在安装的时候可以在注册表中写入相关的键值对.打开文件的时 ...

  2. C#获取文件类型

    Form1.cs using System;using System.Collections.Generic;using System.ComponentModel;using System.Data ...

  3. 通过源码了解ASP.NET MVC 几种Filter的执行过程 在Winform中菜单动态添加“最近使用文件”

    通过源码了解ASP.NET MVC 几种Filter的执行过程   一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神 ...

  4. iOS Category 添加属性实现原理 - 关联对象

    iOS Category 添加属性实现原理 - 关联对象 RunTime为Category动态关联对象 使用RunTime给系统的类添加属性,首先需要了解对象与属性的关系.对象一开始初始化的时候其属性 ...

  5. Deepin Linux下为Wine创建文件关联

    在Deepin Linux下,默认地,使用apt安装的Wine并没有创建文件关联,这使得在文件管理器中双击exe等Windows可执行文件时,不能直接运行.为此,必须手动在桌面环境中创建文件关联. 文 ...

  6. delphi 动态获取文件类型的图标

    delphi 动态获取文件类型的图标.txt我不奢望什么,只希望你以后的女人一个不如一个.真怀念小时候啊,天热的时候我也可以像男人一样光膀子!在应用程序的编写中,组合框(ComboBox).列表框(L ...

  7. Windows Store App JavaScript 开发:获取文件和文件夹列表

    在应用程序中有时可能需要获取用户库中的内容,以便执行相关的操作.如果要获取某个用户库中的内容,需要先获取到这个用户库,获得用户库可以通过Windows.Storage命名空间中的KnownFolder ...

  8. windows文件关联、打开方式列表之修改注册表攻略

    这里全是修改注册表的方式.网上找了半天,有的仅有添加文件关联的方法,却没有添加到打开方式列表里面的方法:有的有添加到文件列表的方法,却是使 用控制面板->文件夹选项的.好难得才找齐所有,从添加文 ...

  9. Ubuntu修改文件关联

    * 在system setting>details中可以设置一部分文件关联,很弱很破. * 右键open with只能临时选择打开方式,并且可选的打开方式十分有限.如果是自己编的程序,在列表中没 ...

随机推荐

  1. 学习C++的第二天

    1.输入 十六进制  cin>>hex>>x>>dec>>y    dec 是十进制    oct 是八进制 输出 十六进制 cout<<h ...

  2. 用Visual Studio调试Windows和驱动程序

    由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:sunylat@163.com Visual Studio版本:Visual Studio 2015企业版,中文环境. MSDN原文:https: ...

  3. ssh配置文件说明

    配置“/etc/ssh/ssh_config”文件 “/etc/ssh/ssh_config” 文件是OpenSSH系统范围的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式.这个文件的每 ...

  4. 数据库连接池dbcp基本配置

    DBCP(DataBase connection pool),数据库连接池.是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件.单独使用dbcp需要2个包: com ...

  5. Delphi七个版本

    第一次Zack Urlocker给我看一款尚未发布的名为Delphi的产品时,我意识到她将改变我的工作—还有许多其他软件开发者的工作. 我过去为使用Windows C++ 库而挣扎,而Delphi过去 ...

  6. #pragma pack(n)

    #pragma pack(n) 重要规则: 1,复杂类型中各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个类型的地址相同: 2,每个成员分别对齐,即每个成员按自己的方式对齐,并最小 ...

  7. AngularJS图片上传功能的实现

    一.前言 前一段时间做项目时,遇到一个问题就是AngularJS实现图片预览和上传的功能,当时查阅文档(都是英文文档)折腾了很久才弄出来,现将整个流程整理出来,有需要的朋友可以参考一下,如果您有更好的 ...

  8. 8. js中json格式解析

    var doc = O_PARAMETER.FJSonStr;(doc为:{"items":[],"nextId":0}) //1.先转为json对象,主要有以 ...

  9. C#winform如何最小化主窗口

    1.如果不想让程序在任务栏中显示,请把窗体的属性ShowInTaskbar设置为false;2.如果想让程序启动时就最小化,请设置窗体的属性WindowState设置为Minimized.(Minim ...

  10. 【转】linux下skype的安装使用

    http://hi.baidu.com/24_jason/item/f85725306c7dbcf5df2221ca Fedora 18/17, CentOS/RHEL/SL 6.3 安装 Skype ...