Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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.

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

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?

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

Prinzipiell ist das wie Phil schon sagte, ziemlich heftiger Stoff den Du da einnehmen willst :D

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.

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)

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.