Seite 1 von 2

Fenster koordinaten fremder Programme

Verfasst: 10.08.2007 14:23
von TomTom
hi!

ich möchte ein programm schreiben, mit dem ich die Koordinaten des momentan aktiven Fenster herausfinde.

z.b.

man öffnet ein fenster(z.B. Arbeitsplatz) und verschiebt dies auf dem Desktop. mein programm soll diese verschiebung erkennen. also
das neue Fenster hat die Koordinaten 40 pixel nach rechts und 70 nach unten.

thx @ all

Re: Fenster koordinaten fremder Programme

Verfasst: 10.08.2007 14:40
von Kiffi
TomTom hat geschrieben:ich möchte ein programm schreiben, mit dem ich die Koordinaten des momentan aktiven Fenster herausfinde.
aktives Fenster emitteln:

http://www.purebasic.fr/german/viewtopic.php?t=2665

Ausmaße eines Fensters ermitteln:

Code: Alles auswählen

GetWindowRect_()
http://www.purebasic.fr/german/viewtopic.php?t=13852

Grüße ... Kiffi

Verfasst: 10.08.2007 14:52
von TomTom
Danke Kiffi!!! das hat mir sehr geholfen!

Verfasst: 10.08.2007 15:15
von TomTom
hi ich habe das programm jetzt (fast) fertig, mir ist aufgefallen, das immer streifen bleiben, die eigendlich wieder weggehen sollen...

wie kann ich den Desktop refreshen?

Verfasst: 10.08.2007 15:28
von Kiffi
TomTom hat geschrieben:hi ich habe das programm jetzt (fast) fertig, mir ist aufgefallen, das immer streifen bleiben, die eigendlich wieder weggehen sollen...
was, wie, wo? Streifen? Auf dem Monitor? Nimm dies hier.
TomTom hat geschrieben:wie kann ich den Desktop refreshen?
evtl. mit InvalidateRect_(). Aber ich würde vorher schauen, ob Du nicht u.U.
einen Fehler in Deinem Code hast.

Grüße ... Kiffi

Verfasst: 10.08.2007 15:37
von TomTom
ne Kiffi fehler im code kann nicht (Programmiere ein Window Tool) hast du den Film Stirb Langsam 4.0 gesehen? Die Bösen Hacker (oder was das sind) hatten so striche am Windowrand (so:)
| |
-----+--------------+-------
| |
| Fenster |
| |
-----+--------------+------
| |

naja sieht so nicht so schön aus...


wenn ich das Fenster jetzt verschiebe dann bleiben die Ränder... die sollen aber weg!

:wink:


PS: Kann mir mal jemand den Link zu den API befehlen reinschreiben? THX!!

Verfasst: 10.08.2007 19:51
von TomTom
hi also mit dem Desktop refresh war es doch nicht so gut... alles ist dann nur am flackern...

kann man nur einen bestimmten teil des Desktops refreshen?

also das ich sage alles von pixel 20,40 bis 20,90 wird refreshed?

thx!

Verfasst: 10.08.2007 20:05
von Kiffi
TomTom hat geschrieben:kann man nur einen bestimmten teil des Desktops refreshen?
ich bin eigentlich noch immer der Meinung, dass die übrig bleibenden Ränder
nicht normal sind und sich das auch ohne Refresh erledigen lässt.

Kannst Du einen kleinen Code zusammenklöppeln, anhand dessen wir das
hier auch mal nachvollziehen können? Ich bin mir sicher, dass man das auch
anders in den Griff bekommen kann.

Grüße ... Küffi

Verfasst: 10.08.2007 23:31
von Ligatur
TomTom hat geschrieben:hi also mit dem Desktop refresh war es doch nicht so gut... alles ist dann nur am flackern...

kann man nur einen bestimmten teil des Desktops refreshen?

also das ich sage alles von pixel 20,40 bis 20,90 wird refreshed?

thx!
Ja, mit InvalidateRect, das heißt nicht umsonst so.

InvalidateRect_(Hwnd, @Bereich.RECT, EraseFlag)

Bereich.RECT muß natürlich vorher initialisiert werden

Verfasst: 11.08.2007 00:18
von Kaeru Gaman
Kiffi hat geschrieben:was, wie, wo? Streifen? Auf dem Monitor? Nimm dies hier.
hähähä... das hab ich doch geahnt, was sich dort verbirgt, noch bevor ich es angeklickt hab. :allright: