GetPixel liefert imer gleichen Farbwert!

morph3uz

Grünschnabel
Hallo liebe Community,
ich habe ein Problem mit der GetPixel-Funktion:
Sie liefert immer den gleichen Wert!

Hier mal ein Code in dem ich GetPixel (erfolglos) verwende:
Ich habe auch ein Hintergrundbild für die Form1 importiert und die Hintergrundfarbe mal auf Rot gesetzt, aber keine Veränderungen.
Code:
Public Class Form1

    Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
    Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
    'Private Declare Function GetActiveWindow Lib "user32" () As Long

    Private Sub Form1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseClick
        Dim lngScreen, lngColor As Long
        lngScreen = GetWindowDC(0)
        lngColor = Form1.GetPixel(lngScreen, MousePosition.X, MousePosition.Y)
        MsgBox(CStr(lngColor) & vbCrLf & CStr(Hex(lngColor)))
    End Sub
End Class

Ist es möglich, dass die Mausposition in der Maus liegt, also auf dem Rand, und daher immer nur der Farbwert der Maus angezeigt wird?
Also ich habe es auch schon so probiert, indem ich jeweils von der X und Y Koordinate 5 Pixel abgezogen habe, auch ohne Erfolg...

Ich hoffe ihr findet den Fehler und könnt mir helfen.
Danke, mfg
morph3uz
 
Zurück