Comment puis-je obtenir SHDocVw.InternetExplorer réutiliser la même fenêtre dans Vista comme il le fait dans XP?

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

Question

Je travaille sur un programme qui utilise IE pour afficher ses pages d'aide. J'utilise C # dans Visual Studio 2008 à la compilation .Net Framework 2.0 Dans tout Windows XP fonctionne comme prévu. Dans Vista chaque fois que je clique sur un bouton d'aide je reçois une nouvelle fenêtre avec un nouveau navigateur IE. Quelqu'un at-il vu d'autre ceci ou savoir comment contourner ce problème?

Voici le code que je utilise pour afficher une page. strDefault est l'emplacement du fichier d'aide HTML Je suis en train de charger. et tous les drapeaux, postData, et en-têtes sont vides. Le cadre cible est vide car cela charge seulement la page principale, j'ai le code après pour charger le cadre spécifique. Cette partie de cela fonctionne très bien. Il est la méthode Navigate qui ouvre une nouvelle fenêtre dans Vista. Je l'ai essayé d'utiliser certaines des options de drapeau en vain.

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);
Était-ce utile?

La solution

Jetez un oeil à In-place Navigation Shell avec le contrôle WebBrowser sur Windows 7 sur le blog de IEInternals. Ce n'est pas exactement la même question (ou du moins je ne pense pas que ce soit!), Mais nous espérons qu'il vous indiquerons vers la bonne réponse.

Autres conseils

Il y a des changements fondamentaux dans la façon dont IE fonctionne avec le système d'exploitation de Vista, le fait que comportant un gros nouvelles demandes de navigateur se produisent dans de nouveaux processus au lieu du même processus. , Vous êtes également utiliser IE8? Dans ce cas, chaque onglet fonctionne dans son propre processus dans la même fenêtre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top