Herkese merhabalar,

Sağ tık menüsünü regedit üzerinden değiştirerek yeni komutlar ekleyebiliriz ancak bunu daha kolay hale getirmek için ufak bir yazılım kodladım. Bu yazılımla birlikte çok kolay bir şekilde sağ tık menüsüne URL / dosya / komut ekleyebilirsiniz.
1716915585363.webp




Programı indirmek için :

Virüstotal sonuçları :


Yazılımı kullanması oldukça kolay şekilde tasarladım. Öncelikle 1.seçenek ile sağ tık menüsüne komut ekleyebilirsiniz. 2 ile kalkıyor ve 3 ile de kurulu olanları listeleyebiliyorsunuz.

Örneğin sağ tık menüsüne Chrome'u eklemek istiyorum
1716915642555.webp



Veya sağ tık menüsüne Techolay.net sosyal'i eklemek istiyorum.
1716915684342.webp



Sağ tık menüsüne ekli kodları görmek istiyorum.
1716915709202.webp



Eklediği komutları kaldıracağım.

1716915738384.webp



Herkese esenlikler dilerim.

Kodları incelemek isteyen arkadaşlar için :
[CODE lang="csharp" title="Sağ tık menüsü ekleme"]using System;
using System.Collections.Generic;
using Microsoft.Win32;

namespace ContextMenuManager
{

class Program
{

static void sagtik_ekle(string name, string command, bool isUrl)
{
string anahtar_yol = $@"Directory\Background\shell\{name}";
string komut_anahtaryol = $@"{anahtar_yol}\command";

try
{
using (RegistryKey key = Registry.ClassesRoot.CreateSubKey(anahtar_yol))
{
key.SetValue("", name);
}

using (RegistryKey commandKey = Registry.ClassesRoot.CreateSubKey(komut_anahtaryol))
{
if (isUrl)
{
commandKey.SetValue("", $"cmd /c start {command}");
}
else
{
commandKey.SetValue("", command);
}
}

Console.WriteLine($"{name} başarıyla eklendi.");
}
catch (Exception e)
{
Console.WriteLine($"Bir hata oluştu: {e.Message}");
}
}

static void sagtik_kaldir(int index, List<string> items)
{
string anahtar_yol = $@"Directory\Background\shell\{items[index]}";

try
{
Registry.ClassesRoot.DeleteSubKeyTree(anahtar_yol);
Console.WriteLine($"{items[index]} başarıyla kaldırıldı.");
}
catch (ArgumentException)
{
Console.WriteLine($"{items[index]} bulunamadı.");
}
catch (Exception e)
{
Console.WriteLine($"Bir hata oluştu: {e.Message}");
}
}

static List<string> sagtik_liste()
{
string anahtar_yol = @"Directory\Background\shell";
List<string> items = new List<string>();

try
{
using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(anahtar_yol))
{
if (key != null)
{
foreach (string subkeyName in key.GetSubKeyNames())
{
items.Add(subkeyName);
}
}
}
}
catch (Exception e)
{
Console.WriteLine($"Bir hata oluştu: {e.Message}");
}

return items;
}

static void Main(string[] args)
{
Console.Title = "Sağ Tık Menüsü Düzenleyici";
while (true)
{
Console.WriteLine("\n1. Sağ tık menüsüne ekleme");
Console.WriteLine("2. Sağ tık menüsünden kaldırma");
Console.WriteLine("3. Sağ tık menüsü öğelerini listeleme");
Console.WriteLine("4. Çıkış");
Console.Write("Seçiminiz: ");
string choice = Console.ReadLine();

if (choice == "1")
{
Console.Write("Öğe ismi: ");
string name = Console.ReadLine();
Console.Write("Komut veya URL: ");
string command = Console.ReadLine();
Console.Write("Bu bir URL mi? (e/h): ");
string isUrlInput;
bool isUrl = false;
while (true)
{
isUrlInput = Console.ReadLine().ToLower();
if (isUrlInput == "e")
{
isUrl = true;
break;
}
else if (isUrlInput == "h")
{
isUrl = false;
break;
}
else
{
Console.Write("Geçersiz giriş, lütfen 'e' veya 'h' girin: ");
}
}
sagtik_ekle(name, command, isUrl);
}
else if (choice == "2")
{
List<string> items = sagtik_liste();
if (items.Count == 0)
{
Console.WriteLine("Hiç öğe bulunamadı.");
}
else
{
for (int i = 0; i < items.Count; i++)
{
Console.WriteLine($"{i + 1}. {items}");
}

Console.Write("Kaldırmak istediğiniz öğenin numarasını girin: ");
int index;
while (!int.TryParse(Console.ReadLine(), out index) || index < 1 || index > items.Count)
{
Console.Write("Geçersiz giriş, lütfen geçerli bir numara girin: ");
}

sagtik_kaldir(index - 1, items);
}
}
else if (choice == "3")
{
List<string> items = sagtik_liste();
if (items.Count == 0)
{
Console.WriteLine("Hiç öğe bulunamadı.");
}
else
{
for (int i = 0; i < items.Count; i++)
{
Console.WriteLine($"{i + 1}. {items}");
}
}
}
else if (choice == "4")
{
break;
}
else
{
Console.WriteLine("Geçersiz seçenek, tekrar deneyin.");
}
}
}
}
}
[/CODE]
 
Benim mesajı görüp özellikle mi yaptınız bu rehberi bilemiyorum fakat yine de teşekkürler. Bilginin bir zarar olmaz. Elinize sağlık :D.
 
Benim mesajı görüp özellikle mi yaptınız bu rehberi bilemiyorum fakat yine de teşekkürler. Bilginin bir zarar olmaz. Elinize sağlık :D.

Mesajınızı görmedim. Hangi mesaj hocam, konu dün aklıma vardı anca yazdım. Yanlışlıkla benzer bir konu mu açtım :D
 
Mesajınızı görmedim. Hangi mesaj hocam, konu dün aklıma vardı anca yazdım. Yanlışlıkla benzer bir konu mu açtım :D

Attığım konuda arkadaşın sağ tık menüyü görünce şaşırmıştım. Liste gibi sağ tık menü yapmıştı. Kendisi de sağ olsun söylemişti ama sizde bunu görünce konuyu bu yüzden açtınız zannettim. Bir de size teşekkür edeyim diye gelmiştim :D. Güzel tesadüf olmuş.

 
Attığım konuda arkadaşın sağ tık menüyü görünce şaşırmıştım. Liste gibi sağ tık menü yapmıştı. Kendisi de sağ olsun söylemişti ama sizde bunu görünce konu açtınız zannettim. Bir de size teşekkür edeyim diye gelmiştim :D. Güzel tesadüf olmuş.


Ben dün bu konuyu okudum sanırım, bilinçaltımda kalmış o halde :D