Özel Bir URL Protokolünü Kayıt Defterine Eklemek | C#

Merhaba, tarayıcıdan yazılan kendi isim ürettiğiniz bir protokolü herhangi bir programla ilişkilendirmek için aşağıdaki yolu izleyebilirsiniz:
Protokolümüzün adı “imzala” olsun.
Tarayıcıdan http:// şeklinde değil de; imzala://?dosya=http://www.yahoo.com/ornek.pdf” şeklinde bir istek geldiğinde bizim uygulama çalışsın istiyoruz.

    readonly static string protokolAdi = "imzala";
    static void Main(string[] args)
    {
        urlProtokolKaydet(@"c:\EImza\KonsolEImza.exe");
    }

    private static void urlProtokolKaydet(string uygulamaYolu)
    {
        try
        {
            RegistryKey regKeyImzala = Registry.CurrentUser.OpenSubKey("Software", true).OpenSubKey("Classes", true);
            if (regKeyImzala.OpenSubKey(protokolAdi) == null)
            {
                RegistryKey key = regKeyImzala.CreateSubKey(protokolAdi);
                key.SetValue("URL Protocol", protokolAdi);
                key.CreateSubKey(@"shell\open\command").SetValue("", "\"" + uygulamaYolu + "\"");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Exception: " + ex.Message);
        }
    }

Selamlar.

Leave a Reply

Your email address will not be published. Required fields are marked *