예제 #1
0
 private void typefolder_CheckedChanged(object sender, EventArgs e)
 {
     if (typefolder.Checked)
     {
         defaulticon.Checked = true;
         browseitem.Enabled  = true;
         itemtoadd.Clear();
         itemtoaddgroup.Text = "Folder to add:";
         defaulticon.Text    = "Use default folder icon";
         itemname.Clear();
         itemtoadd.ReadOnly  = true;
         icontoadd.ReadOnly  = true;
         SynapseSelectedType = DesktopItemType.Folder;
     }
 }
예제 #2
0
 private void typefile_CheckedChanged(object sender, EventArgs e)
 {
     if (typefile.Checked)
     {
         defaulticon.Checked = true;
         defaulticon.Text    = "No icon";
         browseitem.Enabled  = true;
         itemtoaddgroup.Text = "File to add:";
         defaulticon.Visible = true;
         itemtoadd.Clear();
         itemname.Clear();
         itemtoadd.ReadOnly  = true;
         icontoadd.ReadOnly  = true;
         SynapseSelectedType = DesktopItemType.File;
     }
 }
예제 #3
0
 private void typeurl_CheckedChanged(object sender, EventArgs e)
 {
     if (typeurl.Checked)
     {
         defaulticon.Checked = true;
         defaulticon.Text    = "Download website icon (favicon)";
         browseitem.Enabled  = false;
         itemtoaddgroup.Text = "Web address to add:";
         defaulticon.Visible = true;
         itemtoadd.Text      = "http://";
         itemname.Clear();
         itemtoadd.ReadOnly  = false;
         icontoadd.ReadOnly  = true;
         SynapseSelectedType = DesktopItemType.Link;
     }
 }
예제 #4
0
 private void typeprogram_CheckedChanged(object sender, EventArgs e)
 {
     if (typeprogram.Checked)
     {
         browseitem.Enabled = true;
         itemtoadd.Clear();
         defaulticon.Checked = true;
         icontoadd.Enabled   = false;
         browseicon.Enabled  = false;
         itemtoaddgroup.Text = "Program to add:";
         defaulticon.Visible = true;
         defaulticon.Text    = "Use program's icon";
         itemname.Clear();
         itemtoadd.ReadOnly  = true;
         icontoadd.ReadOnly  = true;
         SynapseSelectedType = DesktopItemType.Program;
     }
 }
예제 #5
0
        internal static void AddItem(string name, string item, string icon, DesktopTypePosition position, bool shift, DesktopItemType type)
        {
            using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true))
            {
                key.CreateSubKey(name, RegistryKeyPermissionCheck.Default);
            }

            CreateDefaultCommand(name);

            if (shift)
            {
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name, "Extended", "");
            }
            else
            {
                using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + name, true))
                {
                    key.CreateSubKey(name, RegistryKeyPermissionCheck.Default);
                }
            }

            Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name, "Icon", icon);
            Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name, "Position", position.ToString());

            switch (type)
            {
            case DesktopItemType.Program:
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name + "\\command", "", item);
                break;

            case DesktopItemType.Folder:
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name + "\\command", "", "explorer " + item);
                break;

            case DesktopItemType.Link:
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name + "\\command", "", "explorer " + item);
                break;

            case DesktopItemType.File:
                string tmp  = @"""";
                string tmp2 = "explorer.exe";

                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name + "\\command", "", tmp2 + " " + tmp + item + tmp);
                break;

            case DesktopItemType.Command:
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name + "\\command", "", item);
                break;
            }
        }
예제 #6
0
        internal static void AddItem(string nick, string item, string icon, DesktopTypePosition position, bool shift, DesktopItemType type)
        {
            switch (type)
            {
            case DesktopItemType.Program:
                RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true);
                key.CreateSubKey(nick, RegistryKeyPermissionCheck.Default);
                key.Close();
                CreateDefaultCommand(nick);

                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick + "\\command", "", item);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Icon", icon);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Position", position.ToString());

                if (shift)
                {
                    Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Extended", "");
                }
                else
                {
                    RegistryKey key2 = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + nick, true);
                    key2.DeleteValue("Extended", false);
                    key2.Close();
                }

                break;

            case DesktopItemType.Folder:
                RegistryKey key3 = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true);
                key3.CreateSubKey(nick, RegistryKeyPermissionCheck.Default);
                key3.Close();
                CreateDefaultCommand(nick);

                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick + "\\command", "", "explorer " + item);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Icon", icon);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Position", position.ToString());

                if (shift)
                {
                    Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Extended", "");
                }
                else
                {
                    RegistryKey key2 = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + nick, true);
                    key2.DeleteValue("Extended", false);
                    key2.Close();
                }

                break;

            case DesktopItemType.Link:
                RegistryKey key4 = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true);
                key4.CreateSubKey(nick, RegistryKeyPermissionCheck.Default);
                key4.Close();
                CreateDefaultCommand(nick);

                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick + "\\command", "", "explorer " + item);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Icon", icon);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Position", position.ToString());

                if (shift)
                {
                    Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Extended", "");
                }
                else
                {
                    RegistryKey key2 = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + nick, true);
                    key2.DeleteValue("Extended", false);
                    key2.Close();
                }

                break;

            case DesktopItemType.File:
                RegistryKey key5 = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true);
                key5.CreateSubKey(nick, RegistryKeyPermissionCheck.Default);
                key5.Close();
                CreateDefaultCommand(nick);
                string def  = @"""";
                string def2 = "explorer.exe";

                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick + "\\command", "", def2 + " " + def + item + def);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Icon", icon);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Position", position.ToString());

                if (shift)
                {
                    Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Extended", "");
                }
                else
                {
                    RegistryKey key2 = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + nick, true);
                    key2.DeleteValue("Extended", false);
                    key2.Close();
                }

                break;

            case DesktopItemType.Command:
                RegistryKey key6 = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true);
                key6.CreateSubKey(nick, RegistryKeyPermissionCheck.Default);
                key6.Close();
                CreateDefaultCommand(nick);

                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick + "\\command", "", item);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Icon", icon);
                Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Position", position.ToString());

                if (shift)
                {
                    Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + nick, "Extended", "");
                }
                else
                {
                    RegistryKey key2 = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + nick, true);
                    key2.DeleteValue("Extended", false);
                    key2.Close();
                }

                break;
            }
        }