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:
StartO zaman gidin Findyazın regedit-> açılmalıRegistry editor
Click Right Mouseon HKEY_CLASSES_ROOTardından New->Key
testus://sdfsdfsdf) daha sonra tıklayın Right Mouseüzerinde testus> ardından - New-> String Valueve eklemek URL protocoldeğersiz.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" 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.
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.