Clericer Geschrieben 20. März 2009 Geschrieben 20. März 2009 Hallo zusammen ich weis das es in Foren nicht üblich ist Fragen zu stellen, die nicht mit einem Quelltext zu tun haben, (also noobs alle Arbeit abzunehmen) aber ich bin neu in Java und hatte vor ein Programm zu schreiben das Poppupfenster blockiert, (Java nur aus der Schule, dass zu meinem Vorwissen) ich wollte eigentlich wissen ob es einen Operant in Java gibt der wie ein "actionlistener" überwacht ob bestimmte Fenster sich öffnen. Die Idee ist eigentlich eine Liste von bekannten Popupfenstern (oder ungewollten Seiten) aufzustellen und mit Hilfe dieses "ActionListeners" das aufgehende Fenster mit dieser Liste zu vergleichen und es dann sofort zu schließen. Danke nochma und nervige Antworten kann der Jenige für sich behalten. Zitieren
flashpixx Geschrieben 21. März 2009 Geschrieben 21. März 2009 Ich denke das wird nicht gehen, da Du die Fensterhandles verändern musst. Ich denke hier wirst Du Berechtigungsprobleme bekommen. Wenn ich eine Idee sehen würde, wäre das ganze über JNI und dann eine OS spezifische Komponente zu lösen Phil Zitieren
Clericer Geschrieben 21. März 2009 Autor Geschrieben 21. März 2009 Na dann danke schonmal, hatte eh vor das zuerst mit c++ zu machen, dachte nur das das unter Java villeicht einfacher sein könnte, aber das hat sich ja dann damit auch erledigt. Könntest du mir denn kurtz noch erklären wo das Problem mit der Berechtigung liegt? Zitieren
flashpixx Geschrieben 21. März 2009 Geschrieben 21. März 2009 Im Grunde möchtest Du aus der Java VM, auf die Fenster eines anderes Programm zugreifen. Technisch denke ich, dass das auch möglich ist, aber dafür muss das Java Programm entsprechende API Aufrufe ausführen, um die entsprechenden Berechtigungen zu erhalten. Diese Aufrufe sind natürlich OS spezifisch, d.h. im Grunde müsstest Du, wenn Du Java cross-plattform bleiben willst, für jedes OS programmieren. Phil Zitieren
VaNaTiC Geschrieben 22. März 2009 Geschrieben 22. März 2009 Prinzipiell ist das wie Phil schon sagte, ziemlich heftiger Stoff den Du da einnehmen willst Fakt ist mit Java schaffst Du Dir hier zusätzliche Stolpersteine, die Du vermeiden solltest. Das wird schon so kompliziert genug. Vorgehensweise am Beispiel eines Browser, der das noch nicht unterstützt und keine Plugin-Technologie in sich trägt (zB IE), denn das wäre dann natürlich der richtige Weg: - Überwachen der WinAPI Calls zum Öffnen neuer Fenster mittels Hooks - dazu muss allerdings erstmal der Hook im zu überwachenden Programm installiert werden - dann musst Du noch entscheiden ob das eventuell nicht ein gewünschtes Popup war, also vorher drauf geklickt wurde -> wieder ein Hook auf Klicken und Co - und nu muss das Erstellen des Handles noch unterdrückt werden ohne den Browser eine Fehlermeldung abzuringen Aufgrund der Eingriffe in den anderen Prozess, was zB auch Malware macht, wird das Dein System glauben einen bösen Zugriff zu erkennen und das unterbinden. Zitieren
Clericer Geschrieben 22. März 2009 Autor Geschrieben 22. März 2009 Gut das hatte ich nicht erwartet, bin davon ausgegangen, dass das "einfacher" geht, naja die Entscheidung über das Popup ist nicht so schwer, da ich eine liste erstellen wollte in der von mir ausgewählte Popups (entsprechende URLs) enthalten sind, die mit den Momentan aufpoppenden Fenstern verglichen werden. Aber danke für die Erklärung, nur ich hatte bisher noch keinerlei Probleme was Berechtigungen betrifft (Windows XP ohne Firewall oder sonstiges) Zitieren
flashpixx Geschrieben 22. März 2009 Geschrieben 22. März 2009 Die Berechtigungen sind nicht die Berchtigungen, die Du als User kennst, sondern die internen Prozessberechtigungen, z.B. der Tast Manager kann Prozesse beenden, aber nicht jedes Programm kann das. Ich empfehle Dir hier, bevor wir ins Endlose laufen, Dich zunächst einmal mit der Systemstruktur und deren Programmierung von Win XP und Vista zu beschäftigen Phil Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.