Hej! Efter lite mer engagerad googling: Lars-Erik, Tack för ditt ustökta svar, även om jag redan hittat lösningen på grundfrågan. Instantiera IE
Jag undrar hur man kan instantiera IE, hittar ingen lämplig referens. Syftet är att i kod kicka igång en webbläsare och kodmässigt manipulera instansen av IE. Ungefär som man kan göra med Office-applikationer.Sv: Instantiera IE
http://www.vbdotnetheaven.com/Code/Aug2003/2144.aspSv: Instantiera IE
För att starta Internet Explorer kan du använda klassen <b>Process</b> i namnrymden <b>System.Diagnostics</b>, det är den lätta biten. Den kluriga biten är att kodmässigt manipulera, även känt som att utföra <b>automation</b> , din instans. Jag ska vara ärlig och berätta att jag aldrig tidigare gjort detta, behovet har aldrig funnits. Men skam den som inte provar, så jag öppnade VS.NET och provade lite. Resultategt är testkoden nedan som förhoppningsvis kan ge dig en utgångspunkt.
För att få koden att fungera skapar du ett nytt <b>Console Application</b> projekt och sen väljer du att lägga till referenser till det. När du fått upp referensrutan skall du gå över till fliken <b>COM</b> och sedan välja <b>Browse</b>. Gå in i din <b>System32</b> katalog och lägg till en referens till <b>shdocvw.dll</b> och <b>mshtml.tlb</b> (observera att det ska vara <b>tlb</b> som filndelse på den sista filen). Kopiera sedan in koden och kör.
Den går igenom alla Internet Explorer instanser (du kan säkert identifiera det fönstret du är intresserad av), sen skriver den ut adressen som den visar samt HTML koden för den aktuella sidan.
Imports mshtml
Imports SHDocVw
Imports SHDocVw.InternetExplorerClass
Module Module1
Sub Main()
Automator.Execute()
Console.ReadLine()
End Sub
End Module
Public Class Automator
Sub New()
End Sub
Public Shared Sub Execute()
Dim Shell As New ShellWindows
For Each Window As WebBrowser In Shell
Console.WriteLine(Window.LocationURL)
If TypeOf Window.Document Is HTMLDocument Then
Dim Document As HTMLDocument = _
DirectCast(Window.Document, HTMLDocument)
Console.WriteLine(Document.body.innerHTML)
End If
Next
End Sub
End Class
Sv:Instantiera IE
Kan rapportera att det funkar utmärkt, kan t ex fånga events från IE.