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

  • 相关阅读:
    练习JSON
    实现JSON+JDBC的简单操作(以显示对象为例)
    三层架构:表示层-业务逻辑层-数据访问层
    实现json的三个操作(训练JSON)
    实现邮箱验证 简化版
    复习注册表单html和jQuery
    监听器(测试在线人数的)第一种 HttpSessionBindingListener
    Django的中间件
    Django form表单
    Django
  • 原文地址:https://www.cnblogs.com/hdl217/p/1872983.html
Copyright © 2011-2022 走看看