Est-il possible de “sandbox” IE dans un formulaire Windows?

Supposons que j’ai un contrôle Webbrowsercontrol dans un formulaire Windows et que l’utilisateur se connecte à un site sécurisé à partir du formulaire. Si l’utilisateur ouvrait IE séparément, cela indiquerait également leur connexion. Est-il possible d’isoler l’instance IE du formulaire Windows?

Le contrôle WebBrowser est construit sur l’ActiveX WebBrowser, qui se trouve sur le WinInet. Vous devriez donc pouvoir modifier son comportement via l’API WinInet.

Vous pouvez essayer d’appeler InternetSetOption API InternetSetOption WinInet pour définir l’option INTERNET_OPTION_END_BROWSER_SESSION afin qu’elle mette fin à la session en cours et en commence une nouvelle. Pour vous assurer que l’appel n’affectera que le processus en cours, utilisez le INTERNET_HANDLE_TYPE_INTERNET .

vous ne mentionnez pas votre version; le comportement a changé de IE7 à IE8.

Dans IE7 et IE6, vous pouvez ouvrir plusieurs fenêtres et vous authentifier avec différents ID utilisateur sur un même site.

Dans IE8, votre état de session est partagé entre les sessions du navigateur.

Vous pouvez ouvrir IE avec le mode de confidentialité activé; cela devrait permettre à la session d’être mise en bac à sable.

IE8 a le commutateur de ligne de commande -nomerge , qui démarre le navigateur avec une nouvelle session

Lorsque vous vous connectez à un site, vous recevez généralement un cookie du serveur qui vous marque comme “connecté” (TRES trop simplifié ….). Mon hypothèse serait de supprimer les cookies. Vois ici:

Comment supprimer les cookies de windows.form?