كيف أحصل على shdocvw.internetexplorer لإعادة استخدام النافذة نفسها في Vista كما تفعل في XP؟

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

سؤال

أنا أعمل على برنامج يستخدم IE لعرض صفحات المساعدة. أنا أستخدم C# في Visual Studio 2008 تجميع .NET Framework 2.0 في Windows XP كل شيء يعمل كما هو متوقع. في Vista في كل مرة أنقر فيها على زر المساعدة ، أحصل على نافذة جديدة مع متصفح IE جديد. هل شاهد أي شخص آخر هذا أو يعرف كيفية الالتفاف على هذا؟

إليك الرمز الذي أستخدمه لعرض صفحة. StrDefault هو موقع ملف HTML Help الذي أحاول تحميله. وجميع الأعلام ، postdata ، والرؤوس فارغة. الإطار المستهدف فارغًا لأن هذا يعمل فقط على تحميل الصفحة الرئيسية ، لدي رمز بعد ذلك لتحميل الإطار المحدد. هذا الجزء من هذا يعمل بشكل جيد. إنها طريقة التنقل التي تفتح نافذة جديدة في Vista. لقد حاولت استخدام بعض خيارات العلم دون جدوى.

SHDocVw.InternetExplorer myIE = new SHDocVw.InternetExplorer();
string strDefault = "Frame.htm"
object Flags = new object();
object TargetFrameName = new object();
object PostData = new object();
object Headers = new object();
myIE.Navigate(strDefault, ref Flags, ref TargetFrameName, ref PostData, ref Headers);
هل كانت مفيدة؟

المحلول

ألق نظرة على التنقل في مكانه مع التحكم في WebBrowser على Windows 7 من مدونة IEInternals. إنها ليست بالضبط نفس المشكلة (أو على الأقل لا أعتقد أنها!) ، ولكن آمل أن توجهك نحو الإجابة الصحيحة.

نصائح أخرى

هناك تغييرات أساسية في كيفية عمل IE مع نظام التشغيل من Vista ، بما في ذلك حقيقة أن طلبات المتصفح الجديدة تحدث في عمليات جديدة بدلاً من نفس العملية. أيضا ، هل تستخدم IE8؟ إذا كان الأمر كذلك ، فإن كل علامة تبويب تعمل في عملية خاصة بها داخل نفس النافذة.

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