मैं विंडोज में एक कस्टम URL प्रोटोकॉल कैसे पंजीकृत करूं?


86

मैं विंडोज के साथ एक कस्टम प्रोटोकॉल कैसे दर्ज करूं ताकि किसी ईमेल या वेब पेज पर किसी लिंक पर क्लिक करने पर मेरा एप्लिकेशन खुल जाए और URL से पैरामीटर उसके पास हो जाएं?


जवाबों:


63
  1. इसके Startबाद Findटाइप में जाएं regedit-> इसे ओपन करना चाहिएRegistry editor

  2. उसके बाद -> Right Mouseपर क्लिक करेंHKEY_CLASSES_ROOTNewKey

यहां छवि विवरण दर्ज करें

  1. कुंजी में निचला नाम दें जिसके द्वारा आप चाहते हैं कि urls कहा जाए (मेरे मामले में यह होगा testus://sdfsdfsdf) तब Right Mouseपर क्लिक करें testus-> तब New-> String Valueऔर URL protocolबिना मूल्य के जोड़ें ।

यहां छवि विवरण दर्ज करें

  1. फिर आपने प्रोटोकॉल ( Right Mouse New-> Key) के साथ और प्रविष्टियां जोड़ीं और पदानुक्रम बनाएं testus- जैसे -> shell-> open-> commandऔर उस पथ के अंदर commandपरिवर्तन (Default)जहां .exeआप लॉन्च करना चाहते हैं, यदि आप अपने exe को पैरामीटर पास करना चाहते हैं, तो exe के लिए पथ लपेटें में ""जोड़ें "%1"और जैसा दिखता है:"c:\testing\test.exe" "%1"

यहां छवि विवरण दर्ज करें

  1. यह जांचने के लिए कि क्या यह काम करता है Internet Explorer(नहीं Chromeया Firefox) और इसमें प्रवेश testus:have_you_seen_this_manकरना चाहिए आपकी .exe(आपको कुछ संकेत देता है कि आप ऐसा करना चाहते हैं - हां कहते हैं) और आर्ग में पास करें testus://have_you_seen_this_man

यहाँ परीक्षण करने के लिए नमूना कंसोल ऐप है:

using System;

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

आशा है कि यह आपको कुछ समय बचाता है।


3
वाह यह बात काम करती है। और न केवल IE पर, बल्कि क्रोम पर भी!
user1974566

36

मुझे लगता है कि यह MSDN में शामिल है, कृपया एक URL प्रोटोकॉल के लिए एक आवेदन पंजीकृत करना देखें ।


5
मैं oauth- आधारित एप्लिकेशन और MSDN में वर्णित प्रक्रिया मोज़िला फ़ायरफ़ॉक्स और ओपेरा (11.6) के साथ पूरी तरह से काम कर रहा था
विक्टर लटिपोव

11
यह विंडोज पर सभी ब्राउज़रों में काम करता है। यह एक ओएस-स्तरीय चीज़ है, न कि ब्राउज़र-स्तरीय चीज़।
एंड्रयू डंकमैन

7
मैंने उत्थान किया, लेकिन कृपया एसओ पॉलिसी के अनुसार लिंक से संबंधित जानकारी शामिल करने के लिए उत्तर को संपादित करें। धन्यवाद!
14:59 बजे डॉटनॉहेन

कौन से विंडोज संस्करण इसका समर्थन करते हैं?
10: ᆼ

21

MSDN लिंक अच्छा है, लेकिन वहां की सुरक्षा जानकारी पूर्ण नहीं है। हैंडलर पंजीकरण में "% 1" होना चाहिए,% 1 नहीं। यह एक सुरक्षा उपाय है, क्योंकि कुछ URL स्रोत गलत तरीके से आपके कस्टम प्रोटोकॉल हैंडलर को लागू करने से पहले% 20 को डिकोड करते हैं।

पुनश्च। आपको केवल URL पैरामीटर ही नहीं, बल्कि संपूर्ण URL मिलेगा। लेकिन URL पहले से उल्लिखित% 20-> स्थान रूपांतरण के अलावा कुछ गलत व्यवहार के अधीन हो सकता है। यह आपके URL सिंटैक्स डिज़ाइन में रूढ़िवादी होने में मदद करता है। यादृच्छिक // में मत फेंको या आप उस फ़ाइल में गड़बड़ कर देंगे: // है।


"फ़ाइल में गड़बड़ी: //" का क्या मतलब है?
मालेव

6
फ़ाइल का कोई औपचारिक मानचित्रण नहीं है: स्थानीय पथ के URL। दो या तीन प्रमुख स्लैशों के उपयोग पर एक आम सहमति भी नहीं है, या जब पथ एक विंडोज निर्देशिका को संदर्भित करता है तो आगे बनाम पिछड़े स्लैश का उपयोग होता है।
12

देर से टिप्पणी, मुझे पता है। लेकिन क्या किसी प्रोटोकॉल प्रोटोकॉल हैंडलर के बिना केवल URL मापदंडों का उपयोग करना संभव है ?
डैनिलो बार्गेन

2
यह एक अलग प्रश्न की तरह लगता है। कृपया अपनी शर्तों को सीधे प्राप्त करें, हालांकि। प्रोटोकॉल हैंडलर वह प्रोग्राम है जो URL प्राप्त करता है। "प्रोटोकॉल हैंडलर के बिना" URL को पार्स करने और URL पैरामीटर तक पहुंचने के लिए कोई नहीं है।
MSalters
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.