kostenloser Webspace werbefrei: lima-city


Bemerkung von Farbveränderung

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    onlysteul

    onlysteul hat kostenlosen Webspace.

    Hi
    Ich wollte mal fragen. Kann man per VB einen punkt auf dem Computerbildschirm beobachten lassen. Und wenn irgendetwas in diesem Punkt verändert wird. Gibt es irgendwie true oder so aus.
    Also z.B. ich gebe für y=565 und für x=700 an und wenn dort irgendwie ein Programm geöffnet wird oder sich ein Programm dort genau an diesem Punkt die Farbe ändert. Bemerkt das mein Programm. Ich hoffe dass es solch eine Funktion gibt. Danke schon im Voraus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Der Gockel hat wieder mal Hilfe:
    http://www.aboutvb.de/khw/artikel/khwscreenpixelcolor.htm

    Du überprüfst den Farbwert beim Laden deines Programms, und danach halt z.B. alle 5 Sekunden, und sobald der Farbwert abweicht, führst du deine gewünschte Aktion aus. Wichtig ist bloß, dass du bei GetDC den Parameter 0 verwendest für den ganzen Bildschirm, ansonsten sind die verwendeten Koordinaten nicht global, sondern lokal auf deinem Fenster bzw. Steuerelement.
  4. Autor dieses Themas

    onlysteul

    onlysteul hat kostenlosen Webspace.

    Jezt habe ich Mal das geschrieben
    Public Class Form1
        Private Structure POINTAPI
            Dim X As Long
            Dim Y As Long
        End Structure
    
        Private Declare Function GetPixel Lib "gdi32" _
         (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
        Private Declare Function GetCursorPos Lib "user32" _
         (ByVal lpPoint As POINTAPI) As Long
        Private Declare Function GetDC Lib "user32" _
         (ByVal hwnd As Long) As Long
        Private Declare Function ReleaseDC Lib "user32" _
         (ByVal hwnd As Long, ByVal hdc As Long) As Long
    
        Public Function ScreenPixelColor(Optional ByVal X As Long = -1, _
         Optional ByVal Y As Long = -1) As Long
    
            Dim nPoint As POINTAPI
            Dim nDC As Long
    
            If (X < 0) Or (Y < 0) Then
                GetCursorPos(nPoint)
            Else
                nPoint.X = X
                nPoint.Y = Y
            End If
            nDC = GetDC(0)
            ScreenPixelColor = GetPixel(nDC, nPoint.X, nPoint.Y)
            ReleaseDC(0, nDC)
        End Function
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            tb.Text = ScreenPixelColor(MousePosition.X, MousePosition.Y)
        End Sub
    End Class

    Aber egal wo ich meine Maus bewege der Farbwert bleibt
    8976207410683183103
  5. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Ich hab' nochmal ein wenig im Internet gesucht, du solltest die unten beschrieben Funktion einfach verwenden, das paßt dann:

    Public Class Form1
        Private Structure POINTAPI
            Dim X As Long
            Dim Y As Long
        End Structure
    
        Private Declare Function GetPixel Lib "gdi32" _
         (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
        Private Declare Function GetCursorPos Lib "user32" _
         (ByVal lpPoint As POINTAPI) As Long
        Private Declare Function GetDC Lib "user32" _
         (ByVal hwnd As Long) As Long
        Private Declare Function ReleaseDC Lib "user32" _
         (ByVal hwnd As Long, ByVal hdc As Long) As Long
    
        Public Function ScreenPixelColor(Optional ByVal X As Long = -1, _
         Optional ByVal Y As Long = -1) As Long
    
            Dim nPoint As POINTAPI
            Dim nDC As Long
    
            If (X < 0) Or (Y < 0) Then
                GetCursorPos(nPoint)
            Else
                nPoint.X = X
                nPoint.Y = Y
            End If
            nDC = GetDC(0)
            ScreenPixelColor = GetPixel(nDC, nPoint.X, nPoint.Y)
            ReleaseDC(0, nDC)
        End Function
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            tb.Text = ScreenPixelColor(-1, -1)
        End Sub
    End Class

    Dann wird automatisch die Mouse-Position von der Funktion ermittelt (mit der Funktion GetCursorPos)!
  6. Autor dieses Themas

    onlysteul

    onlysteul hat kostenlosen Webspace.

    Bei mir verändert sich leider nichts
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!