Browser überwachen
-
Hallo allerseits!
Wollte mal wissen, ob es in C++ grundsätzlich möglich ist die Aktivitäten eines Browsers nach aussen hin zu überwachen. Hauptsächlich will ich kontrollieren welche Seiten geöffnet worden sind. Ggf. halt auch die Seiten sperren. Das soll folgenden Hintergrund haben. Wenn eine Seite mit "seltsamen" Inhalten geöffnet wird, dann soll die Seite nicht angezeigt werden dürfen. Ist es prinzipiell möglich so ein Programm zu schreiben, dass im Hintergrund die Aktivitäten überwachen kann?
Wenn ja, dann wäre ich über jede Hilfe dankbar.
Und ich wusste nicht genau in welches Forum ich die Frage stellen konnte. Also bitte verschieben, falls ihr ein besseres wisst.VIELEN DANK!!!

-
In reinem C++ kaum.
Aber mit der WinAPI kannst du dir z.B. das Handle der Adressleiste holen und ihren Inhalt überprüfen (zumindest, wenn du nur mit dem IE arbeiten willst). Bei Mozilla/Firefox/Opera sollte s komplexer werden.Greets
M.T.
-
Das geht nur ueber den Austausch der entsprechenden WINSOCK.DLL, bzw. ueber das Ersetzen des HTTP-ServiceProviders (ueber WinSock SPI).
Oder aber, wenn man sicher sein kann, dass der Anwender nur Internet Explorer verwendet, ueber den Austausch von IEXPLORE.EXE durch ein anderes Programm, das die Funktionalitaet nachbildet. Da IEXPLORE.EXE bloss ein Fenster aufmacht und 2 Komponenten darin oeffnet (welche, steht in der Internet Explorer Beschreibung "Programming and Reusing The Browser" in der Windows Platform API Dokumentation), duerfte das sogar relativ einfach sein.
-
@tGastFürDich, ich musste das vor einiger Zeit für den IE implementieren. Letztendlich habe ich es so gemach:
(1) Hook um zu sehen wann eine neue IE Instanz erstellt wurde
(2) Mit COM in die Events der jeweiligen Instanz hängen
(3) Verhalten überwachen bzw. gegebenenfalls eingreifenSchau dir mal die Dokumentation zum IWebBrowser2 COM-Objekt an.
-
Danke nochmals!
Werd mich am Wochenede mal ans Werk machen.
-
@Power off: Ich kann doch nicht einfach so die exe ersetzen?! Dann müsste ich ja nen komplett neuen Browser schreiben oder???
@Herrmann: Die Idee hört sich gut an. Danke
-
auf codeproject findet man eventuell etwas.
-
GastFürDich schrieb:
@Power off: Ich kann doch nicht einfach so die exe ersetzen?! Dann müsste ich ja nen komplett neuen Browser schreiben oder???
Nein. Der Internet Explorer ist in Wirklichkeit eine OLE-Komponente.
Wie ich bereits sagte: Das IEXPLORE.EXE oeffnet nur ein Fenster und macht die Komponente darin auf. Weiter nix. Steht im Platform SDK.
-
Wie wäre es, wenn du einen HTTP Proxy zum filtern schreibst. Der kann dann eine Fehlerseite ausgeben, wenn da etwas unerwünschtes auf der Seite ist und dann die Seite nicht anzeigen lassen. Dann klappt das auch mit allen Webbrowsern.
Auf VB Archiv war darüber mal ein Artikel.