Ouverture d’une fenêtre Internet Explorer masquée sans qu’elle obtienne le focus?

Je souhaite ouvrir une fenêtre Internet Explorer masquée sans que cela vole le focus. J’ai un object Minuteur qui ouvre Internet Explorer toutes les 5 minutes pour rechercher des mises à jour sur un site Web. Le problème est que chaque fois qu’il vérifie les mises à jour, il vole le focus de l’application actuelle au premier plan. Voici comment je lance le processus:

Process m_Proc = new Process(); m_Proc.StartInfo.Arguments = Ssortingng.Format("{0}{1}", "-nomerge ", browserURL); m_Proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; m_Proc.StartInfo.UseShellExecute = true; m_Proc.StartInfo.CreateNoWindow = true; m_Proc.StartInfo.FileName = Ssortingng.Format("iexplore.exe"); m_Proc.Start(); 

Il vole toujours la concentration, même cachée. Je souhaite que tout commence comme s’il ne se passait rien, afin que les utilisateurs puissent continuer à travailler sur ce qu’ils font. Merci.

Essayez d’automatiser Internet Explorer via ses interfaces COM plutôt que de créer un processus explicitement. Voici comment cela peut être fait. Juste ne faites pas ie.Visible = true et il restra caché. Appelez ie.Quit() lorsque vous ie.Quit() terminé.

Je ne sais même pas pourquoi vous ouvririez un navigateur pour faire cela. Ne serait-il pas plus simple de laisser votre code vérifier le site Web d’une autre manière? Peut-être quelque chose comme ça.

  ssortingng url = "http://www.google.com"; ssortingng result = null; try { WebClient client = new WebClient(); result = client.DownloadSsortingng(url); //Store this result and compare it to last stored result for changes. } catch (Exception ex) { // handle error MessageBox.Show(ex.Message); } 

Mon C # est rouillé, vous devrez donc le vérifier.