Bir e-postadaki veya web sayfasındaki bir bağlantıya tıkladığımda uygulamamın açılması ve URL'deki parametrelerin ona iletilmesi için Windows ile özel bir protokolü nasıl kaydederim?
Yanıtlar:
Start
O zaman gidin Find
yazın regedit
-> açılmalıRegistry editor
Click Right Mouseon HKEY_CLASSES_ROOT
ardından New
->Key
testus://sdfsdfsdf
) daha sonra tıklayın Right Mouseüzerinde testus
> ardından - New
-> String Value
ve eklemek URL protocol
değersiz.New
-> Key
) ile yaptığınız gibi daha fazla giriş ekleyin ve testus
-> shell
-> open
-> gibi bir hiyerarşi oluşturun command
ve başlatmak istediğiniz yolun iç command
değ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"
Internet Explorer
(değil Chrome
ya Firefox
) ve girmek testus:have_you_seen_this_man
ateş senin gereken bu .exe
ve 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.
Bunun MSDN kapsamında olduğunu düşünüyorum, lütfen bkz. Bir Uygulamayı Bir URL Protokolüne Kaydetme .
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.