[Java] Programmfremde Fenster: Informationen auslesen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von fragl0r, 14. Juli 2010 .

  1. 14. Juli 2010
    Programmfremde Fenster: Informationen auslesen

    Hi Leute!


    Ich will mich an ein schon länger geplantes Projekt machen... Da ich aber noch Anfänger in Java bin (Habs jetzt 2 Semester im Studium gehabt) brauche ich Hilfe...

    Ich will mit meinem Programm Informationen aus anderen Fenstern anderer Programmen ziehen.

    Meine erste Idee ist per Screenshot und anschliessendem Vergleich von Formen und Farben. Dafür brauche ich Infos über das Fenster wie Location und Size... Zudem möchte ich wissen wie ich ein entsprechendes Fenster in der Vordergrund hole. Screenshots nur von bestimmten Fenstern zu machen ist mir auch unklar.

    Meine zweite Idee ist es, wenn irgendwie Möglich, die Informationen direkt auszulesen. Damit kenne ich mich leider gar nicht aus, wäre aber die deutlich schönere Variante. Vermute ich brauche dafür deutlich mehr Infos...


    Ich will von niemanden das er mir den Quelltext schreibt. Am liebsten wäre es mir wenn ihr mir Tipps geben könnt wo ich zu solchem Themen was finde wie Tutorials oder Beispiele etc... Falls ihr andere Voschläge habt nur raus damit


    Um nochmal klar zu machen was ich möchte ein Anwendungsbeispiel:

    Das Programm holt ein bestimmtes Fenster in den Fordergrund, erstellt sich ein Image nur vom Fenster und skalliert es in eine bestimmte größe.

    Danach gibt es die Informationen, welches es via Vergleich auslesen kann, aus.

    greetz
    fragl0r
     
  2. 14. Juli 2010
    AW: Programmfremde Fenster: Informationen auslesen

    So wie ich es verstanden hab wird das nicht mit Purem Java möglich sein um JNI wirst da nicht rumkommen.
     
  3. 14. Juli 2010
    AW: Programmfremde Fenster: Informationen auslesen

    Hallo!

    JAVA ist keine Sprache die fuer so etwas geeignet ist. Screenshot zu machen und dann die Informationen auszulesen ist wie "durch die Brust ins Auge" (und zudem so gut wie unmoeglich).

    Am besten lernst du dafuer C. Du kannst dich dann 'low-level' in das Programm "einklinken" und Informationen auslesen. NOS hat dazu mal etwas programmiert (fuer den SFT-Loader) und einen Blog-Eintrag verfasst.

    Mfg,

    Kolazomai
     
  4. 14. Juli 2010
    AW: Programmfremde Fenster: Informationen auslesen


    Das klingt ja schonmal spannend! Vorallem weil ich keine andere Sprache komplett lernen möchte.


    Danke schonmal, freu mich auf ein Paar mehr Ideen

    fragl0r
     
  5. 14. Juli 2010
    AW: Programmfremde Fenster: Informationen auslesen

    Wenn du mit JNI arbeitest bist du aber nicht mehr wirklich plattformunabhängig!
     
  6. 14. Juli 2010
    AW: Programmfremde Fenster: Informationen auslesen

    Das Problem(Programm) wirst aber nie Plattformunabhängig hinbekommen, außer du lieferst für jedes OS die Passente JNI-Lib mit.
     
  7. 14. Juli 2010
    AW: Programmfremde Fenster: Informationen auslesen

    Muss nicht unbedingt Plattformunabhängig sein, reicht wenn es auf Windowskisten läuft
     
  8. 14. Juli 2010
    AW: Programmfremde Fenster: Informationen auslesen

    Top dann nimm Java, und schreib dir ne Basic C-Lib, verbind sie mit JNI und fertig =)

    Anders wird es nicht klappen, aber schau mal vllt gibts ja schon ne passende Kernel32/User32-JNI-API bzw ich weiß das es eine gibt musst einfach mal googlen
     
  9. 14. Juli 2010
    AW: Programmfremde Fenster: Informationen auslesen

    Also wenn du Java kannst, dann kannst du auch C++, da sich der Syntax kaum unterscheidet. Wenn du mit Windows APIs arbeiten willst, was wohl dein Ziel ist, dann bist du mit C++ viel besser dran als mit Java.

    Das mit der Screenshot Erkennung von Formen selber zu programmieren ist auch sehr schwer, da musst wohl auch eine externe Lib nehmen... bzw. das wird selbst mit externer Lib viel arbeit... gibt zwar OCR Libs, aber ob man diese auf Formen trimmen kann weiss ich auch nicht.
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.