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