Ich habe diese Methode verwendet ich online gefunden, die eine Uri nehmen wird dann überprüfen, ob die URI in einem IE-Browser geöffnet ist, wenn es geöffnet wird verhindert das Öffnen neuer Registerkarte oder Instanz der gleichen Website, wenn nicht eine neue IE Tab öffnet, die für groß ist, was ich für die Methode suchen, ist unten:Wie kann ich zu einem beliebigen Zeitpunkt nur eine Instanz von Internet Explorer zulassen?
public static void LaunchSite(Uri sitUrl)
{
SHDocVw.ShellWindows w = new SHDocVw.ShellWindows();
bool found = false;
foreach (SHDocVw.ShellBrowserWindow item in w)
{
var doc = item.LocationURL;
if (!string.IsNullOrEmpty(doc))
if (doc == sitUrl.AbsoluteUri)
{
found = true;
break;
}
}
if (!found)
Process.Start(sitUrl.AbsoluteUri);
}
dann das Verfahren in einem button_click Ereignishandler wie folgt verwendet:
private void btnSubs_Click(object sender, RoutedEventArgs e)
{
Uri oxfArt = new Uri(@"http://www.somesite.com/subscriber/");
StartProcess.LaunchSite(oxfArt);
}
meine Fragen sind:
- innerhalb der Methode wie kann ich überprüfen, ob es bereits eine Instanz von IE geöffnet ist, wenn ich die Website innerhalb dieses IE-Fensters nicht als neue Registerkarte oder neue IE-Instanz öffnen muss, im Grunde muss ich in der Lage zu haben eine Instanz und ein Fenster aller meiner Seiten, die im aktuellen Fenster geöffnet werden sollen ?.
- innerhalb der Schaltfläche Ereignishandler ich brauche switch-Anweisung zu verwenden, die unterschiedliche URI verwendet mir andere Schaltfläche Event-Handler für jeden URI Erstellen zu speichern, Wie würde ich das erreichen in der Lage
i Code in separaten Verfahren versucht haben, zu testen, aber es eröffnet neue Instanzen des IE von der Website halten und IE nicht zu töten, ist das, was Ihre Methode tun sollten ? – Sudani
'Uri uri = neuer Uri ("http://dotnepperls.com/");' dann setze Zeichenfolge auf den URI.OriginalString? Ist dies nicht der Fall immer auf "http://dotnepperls.com/" gesetzt. also egal wie viele Fälle in switch statement es immer an "http://dotnepperls.com/" gerichtet wird! korrigiere mich, wenn ich falsch liege. – Sudani
@Sudani bitte, siehe meine aktualisierte Antwort – StepUp