Cum se conectează la instanțele de explorare care rulează a

SHDocVw :: ShellWindows obiect

Începând cu versiunea 4.71, shell-ul conține un obiect ShellWindows care oferă acces la o colecție de instanțe Internet Explorer care rulează deja. Metodele acestei interfețe sunt complet transparente. Proprietatea Count returnează numărul de elemente din colecție. Metoda elementului furnizează un pointer la interfața IWebBrowser2 a ferestrei corespunzătoare.







De fapt, colecția ShellWindows conține ferestre deschise nu numai pentru Internet Explorer, ci și pentru Windows Explorer. În ciuda acestui lucru, puteți accesa cu succes instanțele ambelor tipuri printr-un pointer către IWebBrowser2. Puteți distinge Internet Explorer, de exemplu, prin faptul că aveți un obiect de document.

Prin urmare, profitând de această colecție, puteți nu numai să aflați câte ferestre și ferestre Explorer sunt deschise, ci și să aveți aproape un control total asupra lor. Într-adevăr, având un pointer la IWebBrowser2, suntem liberi să facem cu Explorer obiecte tot ce-i place. Următorul exemplu le va închide pur și simplu. Nu, așteptați, următorul exemplu va închide toate ferestrele Windows Explorer și în toate ferestrele Internet Explorer va schimba culoarea de fundal în albastru.







Evenimentele DShellWindowsEvents

În plus, obiectul ShellWindows acceptă interfața evenimentului DShellWindowsEvents, conectarea la care puteți primi notificări în timp util despre toate modificările din viața ferestrei Explorer. Această interfață conține numai două metode WindowRegistered și WindowRevoked, care sunt numite de shell atunci când se creează și se închide următoarea fereastră explorer. Problemele de conectare la evenimente sunt discutate suficient de detaliat în diferite surse (inclusiv pe site-ul nostru), astfel încât nu le vom mai analiza separat. Un exemplu de implementare a unui exemplu similar cu suportul pentru DShellWindowsEvents poate fi găsit aici.







Articole similare

Trimiteți-le prietenilor: