سؤال

أحاول إنشاء قرص مضغوط تثبيت مع تطبيق MFC مخصص لتعيين التشغيل التلقائي عند إدراج القرص المضغوط.

يتم تضمين التعليمات كصفحة HTML بسيطة مع صور وروابط لمستندات PDF، وكلها موجودة على القرص المضغوط.

في الماضي استخدمت ما يلي لفتح صفحة HTML مع المتصفح الافتراضي:

ShellExecute(NULL, "open", <full path to .htm file including CD drive letter>, NULL, NULL, SHOWNORMAL);

ولكن عند الاختبار مع IE8 تحت Vista واجهت ما يلي:

  1. اطلق المستكشف
  2. علامة التبويب تقول "الاتصال"
  3. Explorer يختفي

هذا له علاقة بالوضع المحمي، لأنه إذا قمت بإيقاف تشغيل الوضع المحمي لمنطقة الإنترنت، فإن المشكلة تختفي.

الشيء الغريب هو أن المشكلة تظهر فقط مرة واحدة حرق كل شيء على قرص مضغوط. إذا قمت فقط بتشغيل Autorun القابل للتنفيذ يدويا من محرك الأقراص الثابتة، فإن صفحة HTML تأتي على ما يرام.

لذلك أنا أسأل إذا كان هناك أي شيء محدد يمكنني القيام به لإصلاح هذا؟ أو إذا كانت هناك آلية أخرى لفتح عناوين URL مع المتصفح الافتراضي للمستخدم قد لا يكون لديك هذه المشكلة؟

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

المحلول

نظرا لأنك يمكن أن تكون متأكدا بشكل معقول من تثبيت IE قد ترغب في تنفيذها

iexplore.exe [URL] 

في مكالمة شيللكس.

في حالة عدم تثبيت IE، تحقق من قيمة الإرجاع لمعرفة ما إذا لم يتم العثور على ذلك. إذا كان الأمر كذلك، فقم بإجراء مكالمة Slelllex الأصلية مباشرة على ملف .htm.

بدلا من ذلك، يمكنك نسخ .htm إلى٪ ٪٪، وتشغيل مكالمة SLELLEX من هناك. وبهذه الطريقة التي تحصل عليها حول اكيسيس المحمي من موقع "محفوف بالمخاطر".

نصائح أخرى

يمكنك التقاط وتعرض رمز الإرجاع من shelllexecute؟ قد يعطينا فكرة عن ما يحدث.

result = ShellExecute(...

رموز الإرجاع المحتملة مدرجة هنا:

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

تقول في سؤالك أنك ترميز خطاب محرك الأقراص المضغوطة. هل الجهاز الذي تقوم باختباره لديه حرف محرك أقراص مختلف عن واحد قمت بإنشائه القرص المضغوط؟

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