Spiel Makro erstellen für eine Office Mouse

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Gonger96.

    Spiel Makro erstellen für eine Office Mouse

    Hallo

    Ich möchte gerne ein Programm erstellen, in dem ich Befehle für meine Maus reinschreiben kann.
    z.B. Die Maus 2 cm. nach oben bewegen und gleichzeitig die Rechte Maustaste drücken, wenn ich die Rechte Maustaste drücke.

    Dies soll auch funktionieren, wenn das Programm nicht den Fokus hat, und wenn das Spiel im Vollbildmodus ist.

    Meine Maus (Logitech M90) besitzt leider kein Programm zum Makros erstellen, die direkt mit Maustasten druck funktioniert.


    Makro für:
    Der Makro soll für ein Strategie Spiel sein, wo man mehrere Items mit ewig langen Mausklicks aktivieren muss, dabei muss man die Maus etwas nach oben ziehen um noch mehr auszuwählen.

    Ich hätte das gerne so, wie bei dieser Maus: amazon.de/A4Tech-optisch-Taste…rad-schwarz/dp/B001B2RTAU
    Bei dieser Maus stellt man Makros in einen Programm ein, diese sind auf der Maus gespeichert, und wenn sie aktiviert sind, macht die Maus alles, was eingestellt ist via. Maustasten druck, der festgelegt ist.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Das Funktioniert aber leider nicht ohne das die Form den Fokus hat und eine ähnlichen Code hatte ich schon mal probiert, allerdings bewegt sich im Spiel Garnichts, und es ist nur über Tasten machbar.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Ich habe jetzt versucht den Code von vb@rchiv einzufügen: vbarchiv.net/tipps/details.php?id=223
    Allerdings funktioniert das nicht so richtig bzw. Ich bekomme es nicht hin (Seit 2 Stunden . . .)

    Könntest du mir zeigen wie ich den Code in ein neues Projekt einfüge? Bzw. Welchen Projekt Typ ich verwenden muss? (WindowsForms-Anwendung)
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Das werden noch VB6 Datentypen verwendet. Guck beim nächsten mal einfach auf pinvoke.net ^^
    Hier ist die Function für .Net

    VB.NET-Quellcode

    1. <DllImport("user32.dll")> _
    2. Private Shared Sub mouse_event(dwFlags As UInteger, dx As UInteger, dy As UInteger, dwData As UInteger, dwExtraInfo As UIntPtr)
    3. End Sub
    4. Public Enum MouseEventFlags As UInteger
    5. LEFTDOWN = &H2
    6. LEFTUP = &H4
    7. MIDDLEDOWN = &H20
    8. MIDDLEUP = &H40
    9. MOVE = &H1
    10. ABSOLUTE = &H8000
    11. RIGHTDOWN = &H8
    12. RIGHTUP = &H10
    13. WHEEL = &H800
    14. XDOWN = &H80
    15. XUP = &H100
    16. End Enum
    17. Public Enum MouseEventDataXButtons As UInteger
    18. XBUTTON1 = &H1
    19. XBUTTON2 = &H2
    20. End Enum

    Guck dir dort mal den C#-Sample Code a.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gonger96“ ()

    Danke schon mal für die Hilfe :)

    Ich weiß auch nicht . . . Ich blicke da nicht so ganz durch . . .
    Wie kann ich den nun den Makro starten und die Maus (Ohne Fokus des Programmes) mit Makro bewegen?


    Ich lese grade auch auf der Seite "pinvoke.net" aber ich verstehe nur Bahnhof.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Du kannst die Maus auf einen bestimmten Punkt setzen und einmal klicken, z.B. so

    VB.NET-Quellcode

    1. Cursor.Position = New System.Drawing.Point(50, 50)
    2. mouse_event(MouseEventFlags.LEFTDOWN, 0, 0, 0, UIntPtr.Zero)
    3. mouse_event(MouseEventFlags.LEFTUP, 0, 0, 0, UIntPtr.Zero)

    Um die Maus zu bewegen reicht Cursor.Position, zum Klicken, Scrollen usw den API bemühen.