2010-02-26 1 views
2

Я работаю над программой, которая использует IE для отображения страниц справки. Я использую C# в Visual Studio 2008, компилирующую .Net Framework 2.0. В Windows XP все работает так, как ожидалось. В Vista каждый раз, когда я нажимаю кнопку справки, я получаю новое окно с новым браузером IE. Кто-нибудь еще видел это или знал, как обойти это?Как получить SHDocVw.InternetExplorer для повторного использования того же окна в Vista, как в XP?

Вот код, который я использую для отображения страницы. strDefault - это местоположение файла справки html, который я пытаюсь загрузить. и все флаги, postData и заголовки пустые. Целевой кадр пуст, потому что это просто загружает главную страницу, после этого у меня есть код для загрузки определенного фрейма. Эта часть этого прекрасно работает. Это метод Navigate, который открывает новое окно в Vista. Я попытался использовать некоторые опции Flag безрезультатно.

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); 
+0

Это может быть связано с самим IE. Vista имеет версию 7. Какая версия у вас была на XP? – Timores

+0

И какую версию IE вы используете в Vista? – Timores

+0

Это IE 7 на XP и IE 8 на Vista. Я попробую его с IE 8 на XP, чтобы узнать, не изменилось ли это. – Jack

ответ

1

Есть фундаментальные изменения в том, как IE работает с ОС от Vista, includng тот факт, что новые запросы браузера произойдет в новых процессах вместо одного и того же процесса. Кроме того, вы используете IE8? Если это так, каждая вкладка запускается в своем собственном процессе в том же окне.

+0

Да, я использую IE8. – Jack

 Смежные вопросы

  • Нет связанных вопросов^_^