प्रोग्राम प्रोग्राम के रूप में मेलto प्रोटोकॉल के साथ विंडोज प्रोग्राम पंजीकृत करें

मैं इसे कैसे बना सकता हूं mailto: लिंक मेरे प्रोग्राम के साथ पंजीकृत होंगे?

फिर मैं अपने कार्यक्रम में उस घटना को कैसे संभालेगा?

एक त्वरित Google खोज से मिले अधिकांश समाधान यह हैं कि इसे मैन्युअल रूप से कैसे करें, लेकिन अगर मैं बटन पर क्लिक करता हूं, जैसे "डिफ़ॉल्ट ईमेल क्लाइंट के रूप में सेट करें" तो मुझे अपने प्रोग्राम के उपयोगकर्ताओं के लिए यह स्वचालित रूप से करने की आवश्यकता है।

Edit: Removed reference to Delphi, because the answer is independent of your language.

0
जोड़ा संपादित
विचारों: 1

3 उत्तर

मैंने जो देखा है, उससे कुछ रजिस्ट्री कुंजियां हैं जो डिफ़ॉल्ट मेल क्लाइंट सेट करती हैं। उनमें से एक है:

System Key: [HKEY_CLASSES_ROOT\mailto\shell\open\command]

Value Name: (Default)

डेटा प्रकार: <�कोड> REG_SZ (स्ट्रिंग मान)

मूल्य डेटा: <�कोड> मेल प्रोग्राम कमांड लाइन ।

मैं डेल्फी 7 के साथ familar नहीं हूँ, लेकिन मुझे यकीन है कि वहाँ कुछ रजिस्ट्री संपादन पुस्तकालय हैं जो आप इस मान को संशोधित करने के लिए उपयोग कर सकते हैं।

कुछ स्थान इस कुंजी से अधिक सूचीबद्ध हैं, अन्य केवल यह कुंजी, इसलिए आपको उचित (ओं) को खोजने के लिए थोड़ा सा परीक्षण करने की आवश्यकता हो सकती है।

0
जोड़ा

डिफ़ॉल्ट मेल क्लाइंट को प्रोग्रामेटिक रूप से बदलने के लिए आधिकारिक माइक्रोसॉफ्ट समाधान यहां दिया गया है। यह विजुअल बेसिक है, लेकिन मुझे आशा है कि अवधारणा इस से स्पष्ट है:

http://support.microsoft.com/kb/299853

0
जोड़ा
आपके लिंक से: "यह डिफ़ॉल्ट वेब ब्राउज़र या ई-मेल क्लाइंट से अलग है जिसका उपयोग सिस्टम में कहीं से भी मनमानी यूआरएल शुरू करने के लिए किया जाता है।" यह एक और चीज है जिसे मैं सोच रहा था, लेकिन वास्तव में इस सवाल का जवाब नहीं था।
जोड़ा लेखक Liron Yahdav, स्रोत

@Dillie-O: Your answer put me in the right direction (I should have expected it to just be a registry change) and I got this working. But I'm going to mark this as the answer because I'm going to put some additional information that I found while working on this.

इस सवाल का समाधान वास्तव में कोई फर्क नहीं पड़ता कि आप किस प्रोग्रामिंग भाषा का उपयोग कर रहे हैं, जब तक कि विंडोज रजिस्ट्री सेटिंग्स को संशोधित करने का कोई तरीका न हो।

अंत में, यहां जवाब है:

  • कंप्यूटर पर सभी उपयोगकर्ता के लिए मेलto प्रोटोकॉल के साथ प्रोग्राम को संबद्ध करने के लिए, HKEY_CLASSES_ROOT \ mailto \ shell \ open \ command को डिफ़ॉल्ट मान बदलें:
    " आपके प्रोग्राम का निष्पादन योग्य " "% 1"
  • वर्तमान उपयोगकर्ता , HKEY_CURRENT_USER \ Software \ Classes \ mailto \ shell \ open \ command को डिफ़ॉल्ट मान बदलें:
    " आपके प्रोग्राम का निष्पादन योग्य " "% 1"

% 1 को पूरे मेलto यूआरएल के साथ बदल दिया जाएगा। उदाहरण के लिए, लिंक दिया गया है:

Email me

निम्नलिखित निष्पादित किया जाएगा:
" आपके प्रोग्राम का निष्पादन योग्य " "mailto: [email protected]"

अद्यतन (शेलस्केप द्वारा टिप्पणी के माध्यम से):
विंडोज 8 के रूप में, यह विधि अब अपेक्षित काम नहीं करती है। Win8 निम्न कुंजी लागू करता है: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ शैल \ एसोसिएटी ?? ऑन्स \ URLAssociations \ ?? MAILTO \ UserChoice जिसके लिए चयनित ऐप का प्रोगिड धोया गया है और जाली नहीं जा सकती है। यह एक शाही पिटा है

0
जोड़ा
हाँ, अब मैं इसे उत्तर के रूप में चिह्नित करने में सक्षम था।
जोड़ा लेखक Liron Yahdav, स्रोत
क्या आपने जांच की है कि अब आप इसे उत्तर के रूप में चिह्नित कर सकते हैं? मुझे न्यूनतम प्रतिष्ठा की आवश्यकता नहीं है।
जोड़ा लेखक tzot, स्रोत
विंडोज 8 के रूप में, यह विधि अब अपेक्षित काम नहीं करती है। Win8 निम्न कुंजी लागू करता है: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ शैल \ एसोसिएटी और zwnj; ऑन \ URLAssociations \ & zwnj; MAILTO \ UserChoice जिसके लिए चयनित ऐप का प्रोगिड धोया गया है और जाली नहीं जा सकती है। यह एक शाही पिटा है
जोड़ा लेखक shellscape, स्रोत