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); 

  • 相关阅读:
    数据库性能优化之冗余字段的作用
    SQL里面的排序语句desc和ASC有什么区别
    Mybatis@options注解属性useGeneratedKeys,keyProperty,keyColumn的使用
    关于resultType与parameterType的基本使用和区别
    阿里云Centos7的部署springboot后mysql中文问号乱码
    LINUX下启动/停止/重启MYSQL
    CondenseNet:可学习分组卷积,原作对DenseNet的轻量化改造 | CVPR 2018
    MnasNet:经典轻量级神经网络搜索方法 | CVPR 2019
    MobileNetV1/V2/V3简述 | 轻量级网络
    ShuffleNetV1/V2简述 | 轻量级网络
  • 原文地址:https://www.cnblogs.com/hdl217/p/1872983.html
Copyright © 2011-2022 走看看