zoukankan      html  css  js  c++  java
  • 在我的电脑里面创建图标

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

      

  • 相关阅读:
    JavaScript 中的构造函数
    sql链路服务器提示该事务管理器已经禁止了它对远程/网络事务的支持
    Operating System:操作系统启动总结
    Operating System:信号量
    Operating System:管程相关概念
    ACwing(基础)--- 线性DP、区间DP
    ACwing(基础)--- C++STL库
    ACwing(基础)--- 并查集、堆
    ACwing(基础)--- 数组模拟链表、栈、队列
    Vue 学习笔记2 data数据对象
  • 原文地址:https://www.cnblogs.com/xsi640/p/3548312.html
Copyright © 2011-2022 走看看