تسجيل برنامج ويندوز مع ميلتو البروتوكول برمجيا

StackOverflow https://stackoverflow.com/questions/231

  •  08-06-2019
  •  | 
  •  

سؤال

كيف تجعل من ذلك mailto: الروابط سوف تكون مسجلة مع البرنامج ؟

كيف يمكنني التعامل مع هذا الحدث في البرنامج ؟

معظم الحلول التي وجدت من جوجل للبحث سريع هي كيفية القيام بذلك يدويا, ولكن أنا بحاجة إلى القيام بذلك تلقائيا لمستخدمي البرنامج إذا كانوا انقر فوق زر مثل "تعيين كافتراضي عميل البريد الإلكتروني".

تحرير:

إزالة الإشارة إلى دلفي ، لأن الإجابة هي مستقلة عن اللغة الخاصة بك.

هل كانت مفيدة؟

المحلول

@Dillie-O:الجواب وضعني في الاتجاه الصحيح (يجب أن يكون من المتوقع أن يكون مجرد تغيير التسجيل) و حصلت على هذا العمل.ولكن انا ذاهب الى مارك هذا الجواب لأني سأضع بعض المعلومات الإضافية التي وجدت أثناء العمل على هذا.

حل هذا السؤال حقا لا يهم ما هي لغة البرمجة التي تستخدمها ، طالما هناك طريقة لتعديل إعدادات سجل ويندوز.

وأخيرا ها هو الجواب:

  • إلى ربط البرنامج مع ميلتو بروتوكول جميع المستخدمين على الكمبيوتر, تغيير HKEY_CLASSES_ROOT\ميلتو\shell\open\command القيمة الافتراضية إلى:
    "البرنامج القابل للتنفيذ" "%1"
  • إلى ربط البرنامج مع ميلتو بروتوكول المستخدم الحالي, تغيير HKEY_CURRENT_USER\Software\Classes\ميلتو\shell\open\command القيمة الافتراضية إلى:
    "البرنامج القابل للتنفيذ" "%1"

%1 سيتم استبدال مع كامل ميلتو URL.على سبيل المثال, نظرا الرابط:

<a href="mailto:user@example.com">Email me</a>

التالية سيتم تنفيذها:
"البرنامج القابل للتنفيذ""mailto:user@example.com"

تحديث (عبر تعليق shellscape):
كما من ويندوز 8 ، هذا الأسلوب لم يعد يعمل كما هو متوقع.Win8 يفرض الرئيسية التالية:HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\جمعيات\URLAssociations\ميلتو\UserChoice التي ProgID المختارة التطبيق هو تجزئته لا يمكن أن تكون مزورة.إنها royal PITA

نصائح أخرى

من ما رأيت ، هناك عدد قليل من مفاتيح التسجيل التي تحدد عميل البريد الافتراضي.واحد منهم:

نظام المفتاح: [HKEY_CLASSES_ROOT\mailto\shell\open\command]

اسم القيمة: (Default)

نوع البيانات: REG_SZ (قيمة سلسلة)

قيمة البيانات: Mail program command-line.

أنا لست مع فاميلار Delphi 7, ولكن أنا متأكد من أن هناك بعض تحرير التسجيل المكتبات في هناك التي يمكن استخدامها لتعديل هذه القيمة.

بعض الأماكن قائمة أكثر من هذا الرئيسية, والبعض الآخر يقع هذا المفتاح ، لذلك قد تحتاج إلى اختبار قليلا إلى العثور على واحد مناسب(s).

هنا هو مسؤول Microsoft الحل برمجيا تغيير عميل البريد الافتراضي.إنه Visual Basic, ولكن آمل أن المفهوم هو واضح من هذا:

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top