Windows'ta özel bir URL protokolünü nasıl kaydederim?


Yanıtlar:


65
  1. StartO zaman gidin Findyazın regedit-> açılmalıRegistry editor

  2. Click Right Mouseon HKEY_CLASSES_ROOTardından New->Key

görüntü açıklamasını buraya girin

  1. Key size URL'ler (benim durumumda öyle olacak çağrılacak istediğiniz tarafından küçük ad vermek testus://sdfsdfsdf) daha sonra tıklayın Right Mouseüzerinde testus> ardından - New-> String Valueve eklemek URL protocoldeğersiz.

görüntü açıklamasını buraya girin

  1. Ardından, protokol ( Right Mouse New-> Key) ile yaptığınız gibi daha fazla giriş ekleyin ve testus-> shell-> open-> gibi bir hiyerarşi oluşturun commandve başlatmak istediğiniz yolun iç commanddeğişikliği , exe'nize parametreleri iletmek istiyorsanız, yolu exe'ye kaydırın içinde ve ekleme gibi görünüme:(Default).exe"""%1""c:\testing\test.exe" "%1"

görüntü açıklamasını buraya girin

  1. Test için bu gitmek çalışırsa Internet Explorer(değil Chromeya Firefox) ve girmek testus:have_you_seen_this_manateş senin gereken bu .exeve args içine pass - (Evet diyelim bunu yapmak istediğini bazı istemleri vermek) testus://have_you_seen_this_man.

Test edilecek örnek konsol uygulaması:

using System;

namespace Testing
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args!= null && args.Length > 0)
            Console.WriteLine(args[0]);
            Console.ReadKey();
        }
    }
}

Umarım bu size biraz zaman kazandırır.


3
Vay canına, bu şey çalışıyor. Ve sadece IE'de değil, Chrome'da da!
— user1974566

36

Bunun MSDN kapsamında olduğunu düşünüyorum, lütfen bkz. Bir Uygulamayı Bir URL Protokolüne Kaydetme .


5
Oauth tabanlı uygulamayı yazıyordum ve MSDN'de açıklanan prosedür Mozilla Firefox ve Opera (11.6) ile mükemmel çalışıyor
— Viktor Latypov

11
Bu, Windows'taki tüm tarayıcılarda çalışır. Bu işletim sistemi düzeyinde bir şey, tarayıcı düzeyinde bir şey değil.
— Andrew Dunkman

7
Oy verdim, ancak SO politikasına göre bağlantıdaki ilgili bilgileri eklemek için lütfen yanıtı düzenleyin. Teşekkürler!
— dotancohen

Hangi Windows sürümleri bunu destekliyor?
— ᆼ ᆺ ᆼ

21

MSDN bağlantısı güzel, ancak oradaki güvenlik bilgileri tam değil. İşleyici kaydı% 1 değil "% 1" içermelidir. Bu bir güvenlik önlemidir, çünkü bazı URL kaynakları özel protokol işleyicinizi çalıştırmadan önce% 20 kodunu hatalı bir şekilde çözer.

PS. Yalnızca URL parametrelerini değil, tüm URL'yi alırsınız. Ancak URL, daha önce bahsedilen% 20-> alan dönüşümünün yanı sıra bazı kötü muameleye tabi olabilir. URL söz dizimi tasarımınızda muhafazakar olmanıza yardımcı olur. Rastgele // atmayın, yoksa bu dosya: // olan karmaşaya girersiniz.


"Dosya: //" ile tam olarak neyi kastediyorsunuz?
— Maleev

6
Dosyanın resmi bir eşlemesi yoktur: yerel yollara URL'ler. Yol bir Windows dizinine atıfta bulunduğunda, iki veya üç önde gelen eğik çizginin kullanılması veya ileri ve geri eğik çizgilerin kullanılması konusunda bir fikir birliği bile yoktur.
— MSalters

Geç yorum biliyorum. Ancak, protokol işleyicisi olmadan yalnızca URL parametrelerine bir şekilde erişmek de mümkün müdür ?
— Danilo Bargen

2
Bu ayrı bir soru gibi geliyor. Lütfen şartlarınızı net bir şekilde belirtin. Protokol işleyicisi, URL'yi alan programdır. "Protokol işleyici olmadan" URL'yi ayrıştıracak ve URL parametrelerine erişecek kimse yoktur.
— MSalters
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.