Nazdar ... potrebujem takuto pomoc ... robím WebBrowser a ked som ho testoval tak som prišiel na to že ak si napríklad na supergames.cz otvorím nejakú Flash alebo Shockwave hru tak sa mi spustí Internet Explorer a vnom tá konkrétna hra. Ako môžem naprogramovať tak aby sa mi otvoril nový "Tab" v mojom prehliadači a v nom sa spustila flash alebo shockwave hra.... ( tab viem vytvoriť len neviem ako aby sa mi to automaticky vytvorilo ked zisti že chcem flash hru spustit) ....... (a ta hra sa može kludne aj už v otvorenom tabe spustit .. to je mi jedno hlavne nech ju spusti) ...poradte pls....predem dík.
Fórum › Visual Basic
WebBrowser - Nové okna & Udalosti ešte nevytvoreného prvku
No když má WebBrowser tj. předpokládám to komponentu z jádra IE (IWebBrowser2), tak existuje rozhraní DWebBrowserEvents2, přes které lze zachytit v podstatě všechny události tj. i událost kliku apod., takže zachytíš DISPID_BEFORENAVIGATE2, vytvoříš nový tab, v něm uděláš další okno prohlížeče a dáš mu navigate na URL, která ti přišla tím eventem a vrátíš VARIANT_TRUE jakože cancel na aktuální událost, takže se již dále nic nestane.
Takhle je to surově ve WinAPI. Možná ti VB tohle všechno zpřístupní jenom klikáním ... musíš hledat :)
A ty máš co? Máš okno prohlížeče, v něm si vybereš hru, ne? Takže okno prohlížeče existuje, následně existuje i požadavek na otevření (asi) odkazu ... zatím všechno existuje, ne? Zachytíš, vytvoříš nový tab s novým oknem prohlížeče. A ten teda taky existuje, ne? A do něj pošleš příkazem navigate, aby se na něm zobrazila daná stránka (nebo hra), která určitě taky existuje, ne?
No a jak to zachytit jsem ti popsal. Takže pro jistotu, aby jsme si rozuměli, přidávám tento důležitý odkaz.
zkus tohle
Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
Dim myElement As HtmlElement = WebBrowser1.Document.ActiveElement
Dim target As String = myElement.GetAttribute("href")
Dim newInstance As New Form1
newInstance.Show()
newInstance.WebBrowser1.Navigate(target)
e.Cancel = True
End Sub
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Jak na nove form_okno po udalosti? — založil JiriVavru
Spuštění obsluhy události (bez události) — založil bear.king
Vytvoří asociativní pole, obsahující v prvním prvku jméno, v druhém… — založil lokomotiva
Spojový seznam - odebrání prvku/prvků s maximální hodnotou — založil arden89
C++ vs. C# , alebo má význam učiť sa ešte C++? — založil Tocimanko
Moderátoři diskuze