• 在我的电脑里面创建图标


    public static void CreateShortCutByMyComputer(Guid id, string name, string description, string path, string icon)
            {
                RegistryKey root = Registry.ClassesRoot;
                RegistryKey clsid = root.OpenSubKey("CLSID", true);
                RegistryKey key = CreateOrGetSubKey(clsid, string.Format("{{{0}}}", id));
                key.SetValue("", name);
                key.SetValue("InfoTip", description);
                key.SetValue("LocalizedString", name);
                key.SetValue("System.ItemAuthors", description);
                key.SetValue("TileInfo", "prop:System.ItemAuthors");
    
                RegistryKey defaultIcon = CreateOrGetSubKey(key, "DefaultIcon");
                defaultIcon.SetValue("", icon);
                RegistryKey inProcServer32 = CreateOrGetSubKey(key, "InProcServer32");
                inProcServer32.SetValue("", @"%SystemRoot%system32shell32.dll");
                inProcServer32.SetValue("ThreadingModel", "Apartment");
                RegistryKey shell = CreateOrGetSubKey(key, "Shell");
                RegistryKey open = CreateOrGetSubKey(shell, "Open");
                RegistryKey command = CreateOrGetSubKey(open, "Command");
                command.SetValue("", path);
                RegistryKey shellFolder = CreateOrGetSubKey(key, "ShellFolder");
                shellFolder.SetValue("Attributes", new byte[] { 00, 00, 00, 00 }, RegistryValueKind.Binary);
    
    
                RegistryKey hcu = Registry.CurrentUser;
                RegistryKey ns = hcu.OpenSubKey("Software").OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion").OpenSubKey("Explorer").OpenSubKey("MyComputer").OpenSubKey("NameSpace", true);
                RegistryKey v = CreateOrGetSubKey(ns, string.Format("{{{0}}}", id));
                v.SetValue("", name);
            }
    
            public static void RemoveShortCutByMyComputer(Guid id)
            {
                RegistryKey root = Registry.ClassesRoot;
                RegistryKey clsid = root.OpenSubKey("CLSID", true);
                clsid.DeleteSubKeyTree(string.Format("{{{0}}}", id), true);
    
                RegistryKey hcu = Registry.CurrentUser;
                RegistryKey ns = hcu.OpenSubKey("Software").OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion").OpenSubKey("Explorer").OpenSubKey("MyComputer").OpenSubKey("NameSpace", true);
                ns.DeleteSubKey(string.Format("{{{0}}}", id), true);
            }
    

      

  • 相关阅读:
    关于《GridView“GridView1”激发了未处理的事件“PageIndexChanging”》的问题!
    励志名言
    Java从入门到精通
    Java学习每天进步一点点
    学**况
    git常用命令
    linux常用命令
    linux yum命令详解
    git分支
    linux常用命令(2)
  • 原文地址:https://www.cnblogs.com/xsi640/p/3548312.html
Copyright © 2020-2023  润新知