zoukankan      html  css  js  c++  java
  • FileRegistrationHelper

    FileRegistrationHelper

     public class FileRegistrationHelper 
       
    { 
           
    public static void SetFileAssociation(string extension, string progID) 
           
    { 
               
    // Create extension subkey 
               
    SetValue(Registry.ClassesRoot, extension, progID); 
     
               
    // Create progid subkey 
               
    string assemblyFullPath = System.Reflection.Assembly.GetExecutingAssembly().Location.Replace("/", @"\"); 
                StringBuilder sbShellEntry = new StringBuilder(); 
                sbShellEntry.AppendFormat("
    \"{0}\" \"%1\"", assemblyFullPath); 
               
    SetValue(Registry.ClassesRoot, progID + @"\shell\open\command", sbShellEntry.ToString()); 
               
    StringBuilder sbDefaultIconEntry = new StringBuilder(); 
                sbDefaultIconEntry
    .AppendFormat("\"{0}\",0", assemblyFullPath); 
               
    SetValue(Registry.ClassesRoot, progID + @"\DefaultIcon", sbDefaultIconEntry.ToString()); 
     
               
    // Create application subkey 
               
    SetValue(Registry.ClassesRoot, @"Applications\" + Path.GetFileName(assemblyFullPath), "", "NoOpenWith"); 
            } 
     
            private static void SetValue(RegistryKey root, string subKey, object keyValue) 
            { 
                SetValue(root, subKey, keyValue, null); 
            } 
            private static void SetValue(RegistryKey root, string subKey, object keyValue, string valueName) 
            { 
                bool hasSubKey = ((subKey != null) && (subKey.Length > 0)); 
                RegistryKey key = root; 
     
                try 
                { 
                    if (hasSubKey) key = root.CreateSubKey(subKey); 
                    key.SetValue(valueName, keyValue); 
                } 
                finally 
                { 
                    if (hasSubKey && (key != null)) key.Close(); 
                } 
            } 
        } 

     

     

     

    string extension = ".def"; 
               
    string title = "something here"; 
               
    string extensionDescription = "some description"; 
               
    FileRegistrationHelper.SetFileAssociation( 
                  extension
    , title + "." + extensionDescription); 

  • 相关阅读:
    数据库MySQL调优实战经验总结
    Apache常见功能实战详解
    使用HeartBeat实现高可用HA的配置过程详解
    Nginx实现集群的负载均衡配置过程详解
    CentOS系统通过PXE实现批量无人值守安装
    CentOS 7 网卡命名修改为eth0格式
    Nagios 系统监控基本安装配置过程详解
    LAMP 系统服务搭建过程详解
    使用 python 管理 mysql 开发工具箱
    C++标准库string类型的使用和操作总结
  • 原文地址:https://www.cnblogs.com/hdl217/p/1872983.html
Copyright © 2011-2022 走看看