Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
OrangeTiger
Anmeldungsdatum: 21.02.2008 Beiträge: 17
|
Verfasst am: 12.03.2008, 18:07 Titel: Pixelfarbe herausfinden und Mausklick simulieren |
|
|
Hay,
Ich hätte mal 2 Fragen:
1) Wie kann ich die Farbe eines Pixels auf dem Bildschirm abfragen? Mit Point (x, y) kann ich ja nur die Farbe eines Pixels in meinem FreeBasic Fenster abrufen, ich würde das aber gerne für den ganzen Bildschirm machen.
2) Wie kann ich mit Freebasic einen Mausklick simulieren?
MfG
OrangeTiger |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 12.03.2008, 18:22 Titel: |
|
|
Zur 2. Frage:
Schau dir mal die WinAPI- Funktion GetPixel an: Code: | Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long | Jetzt brauchst du den hDC vom Fenster das du untersuchen willst. Dazu gibts die Funktion GetDC: Code: | Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long | Bei hWnd trägst du NULL ein, dann kriegst du den hDC vom Desktop. An den hWnd von anderen Anwendungen kommst du mit EnumWindows. Über diese Funktion gabs schon mal einen Beitrag.
Die Antwort auf die 1. sollte ebenfalls in der WinAPI liegen, solltest du einen Klick außerhalb deines Fensters simulieren wollen. _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
OrangeTiger
Anmeldungsdatum: 21.02.2008 Beiträge: 17
|
Verfasst am: 12.03.2008, 21:31 Titel: Probleme mit der farbe |
|
|
Hallo, deine Antwort auf meine Frage hat mir soweit sehr gut geholfen...
Leider habe ich allerding immer noch ein kleines Problem:
Als Farbe gibt mit GetPixel nämlich sowas wie 4294967295 zurück.
Wie kann ich das in einen "verständlichen" RGB-Code umwandeln?
MfG
OrangeTiger
Edit:
Ah, Schon gut, habe grade Selber die Lösung gefunden:
Code: | Dim As COLORREF farbe
GetRValue(farbe)
GetGValue(farbe)
GetBValue(farbe)
|
|
|
Nach oben |
|
 |
|