Mausklick Systemweit abfragen

  • VB.NET
  • .NET 4.5

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Mausklick Systemweit abfragen

    Neu

    Hallo,

    ich habe schon wieder ein kleines Problem. Ich frage mit folgendem Code die Mausklicks Systemweit ab

    VB.NET-Quellcode

    1. ​Const WM_NCATIVATE As Integer = 134
    2. Protected Overrides Sub WndProc(ByRef m As Message)
    3. MyBase.WndProc(m)
    4. If m.Msg = WM_NCATIVATE And Me.ContainsFocus And New Rectangle(Me.Location, Me.Size).Contains(Cursor.Position) = False And Me.WindowState = 0 And Me.Opacity = 1 And Me.Height = 734 Then
    5. Form_Hide_or_Show.Hide_or_Show.Form_Hide(True)
    6. End If
    7. End Sub


    Das auch sehr gut funktioniert. Aber ist es damit möglich zu unterscheiden ob die Maustaste gedrückt oder losgelassen wurde?

    Grüße Georg

    Neu

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Neu

    Vielen Dank für die Anregung. So funktioniert das jetzt wunderbar.

    VB.NET-Quellcode

    1. Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Integer) As Short
    2. Const VK_LBUTTON = &H1
    3. Const WM_LBUTTONDOWN As Integer = 134 '&H202
    4. Protected Overrides Sub WndProc(ByRef m As Message)
    5. MyBase.WndProc(m)
    6. If m.Msg = WM_LBUTTONDOWN And Me.ContainsFocus And New Rectangle(Me.Location, Me.Size).Contains(Cursor.Position) = False And Me.WindowState = 0 And Me.Opacity = 1 And Me.Height = 734 Then
    7. Do While GetAsyncKeyState(VK_LBUTTON) <> 0
    8. Form_Hide_or_Show.Hide_or_Show.Form_Hide(True)
    9. Loop
    10. End If
    11. End Sub


    Mit dieser Kombination wird die Form erst geschlossen wenn die Maustaste losgelassen wird.

    Grüße Georg

    Neu

    Toolmaster schrieb:

    Mit dieser Kombination wird die Form erst geschlossen wenn die Maustaste losgelassen wird.
    Wenn ich ein reguläres, eigencodefreies Form habe und oben rechts auf das rote X klicke, wird das Form auch erst geschlossen, wenn ich die Maustaste loslasse. Was hab ich hier also verpasst?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.