Я работаю над программой, которая использует IE для отображения справочных страниц. Я использую C# в Visual Studio 2008, компилируя его в .Net Framework 2.0. В Windows XP все работает так, как ожидалось. В Vista каждый раз, когда я нажимаю кнопку справки, я получаю новое окно с новым браузером IE. Кто-нибудь еще видел это или знает, как обойти это?
Вот код, который я использую для отображения страницы. strDefault — это расположение файла справки html, который я пытаюсь загрузить. и все флаги, postData и заголовки пусты. Целевой фрейм пуст, потому что он просто загружает главную страницу, после этого у меня есть код для загрузки определенного фрейма. Эта часть работает нормально. Это метод Navigate, который открывает новое окно в 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);