Bild aus fremden Programmfenster auslesen



  • Hallo.

    Ich würde gern mal wissen ob/wie es möglich ist in c/c++ ein Bild, aus einem fremden Programmfenster auszulesen. Mir ist nur die GetWindowText Funktion bekannt. Geht das überhaupt oder wäre ein Hook da besser geeignet ?



  • Wenn das Fenster sichtbar ist, gehts sicher irgendwie per DC. Ansonsten Hook.


  • Mod

    WM_PRINTCLIENT?



  • Scheint eine etwas knifflige Frage zu sein. Sobald das Bild im fremden Fenster gezeichnet wird, dieses geeignet sichern (wie und wo ?, notfalls als Bitmap). Vom Ausgangsfenster eine User-defined Nachricht an das fremde Fenster schicken und sich das Bild (im globalen Zugriff) bereitstellen lassen. So sollte es laufen, egal ob das fremde Fenster gerade sichtbar ist oder nicht.

    Frage: Wird das Bild im fremden Fenster vom Anwender erzeugt oder steht es bereits für dieses Fenster fest von aussen zur Verfügung und wie (bmp, jpg, ...)?
    Mehr weiss ich im Moment nicht und möchte ohne weitere Kenntnisse der Aufgabe auch nicht weiter nachdenken.



  • Danke für die Antworten. Also das Bild wird von dem Programm aus dem Internet geholt. Sollte also nicht gezeichnet werden.

    Vom Ausgangsfenster eine User-defined Nachricht an das fremde Fenster schicken und sich das Bild (im globalen Zugriff) bereitstellen lassen

    Welche Nachricht denn ?
    WM_PRINTCLIENT klingt interessant das guck ich mir mal an.



  • bimbonius schrieb:

    ... Also das Bild wird von dem Programm aus dem Internet geholt. Sollte also nicht gezeichnet werden.

    Wenn das Bild aus dem Internet geholt wird, muss dieses Bild erst einmal im Programm zugänglich gemacht - also irgendwie und irgendwo gespeichert - werden!
    Die WinApi verlangt zu Darstellung eines Bildes ein Bitmap. Wenn du ein solches Bitmap hast, ist der Rest einfach. Wo genau liegen deine Probleme?



  • wieso muss das Bild zwangsweise gespeichert werden? Und selbst wenn, eventuell liegen da (im temp Verzeichnis) mehr als ein Bild und schon weiß ich nicht mehr welches es ist.


Log in to reply