Ich habe eine Ruby-Erweiterungsbibliothek in C erstellt
Einführung
Die Person, die diesen Artikel geschrieben hat, ist ein Anfänger mit einer ** Programmiererfahrung von weniger als 1 Jahr **.
Ich denke, es gibt einige verwirrende Teile und Fehler. Wenn Sie es bemerken, hinterlassen Sie bitte einen Kommentar.
Was ich gemacht habe
Erweiterungsbibliothek zum Bedienen der Maus von Ruby aus
Verwendete Sprache
--C (beschreibe die Bibliothek selbst)
--Ruby (Modul)
Überblick
Der Quellcode ist hier
- Sie können die Koordinaten des Mauszeigers abrufen und den Cursor bewegen.
- Es ist auch möglich, Links- und Rechtsklick auszugeben.
- Da es C windows.h enthält, ist es ** nur Windows **. (Es wurde nicht überprüft, da ich keine andere Umgebung als Windows habe, aber es ist wahrscheinlich so)
- Da es in einer 32-Bit-Umgebung kompiliert wurde, funktioniert es nicht auf einem 64-Bit-Computer **. (Verifiziert)
――Wenn die Umgebung bereit ist, werde ich die 64-Bit-Version erhöhen.
- ** Bitte in einer Umgebung verwenden, in der Ruby arbeitet **.
Wie benutzt man
require 'mouse'
Oder
(Wenn sich die Skripte, die diese Bibliothek verwenden, im selben Verzeichnis befinden)
require_relative 'mouse'
Definierte Methoden und Konstanten
getCursorPosX()
- Holen Sie sich die X-Koordinate des Cursors.
getCursorPosY()
- Holen Sie sich die Y-Koordinate des Cursors.
setCursorPos(x,y)
- Bewegen Sie die Position des Cursors. Geben Sie die X-Koordinate des Ziels als erstes Argument und die Y-Koordinate als zweites Argument an.
sendMouseEvent(key)
- Eine Methode, die den virtuellen Schlüsselcode der linken und rechten Maustaste ausgibt.
- Übergeben Sie eine Ganzzahl oder die folgende Konstante als Argument.
--
M_L_DOWN (= 2)
#Der Zustand, in dem die linke Maustaste gedrückt wird
--M_L_RELEASE (= 4)
# Linke Maustaste losgelassen
--M_R_DOWN (= 8)
#Der Zustand, in dem die rechte Maustaste gedrückt wird
--M_R_RELEASE (= 16)
#Rechte Maustaste losgelassen
getKeyState(key)
- Überprüft, ob eine bestimmte Taste auf der Maus oder Tastatur gedrückt wird.
--Diese Methode wird in der Bibliothek für die Bedienung der derzeit in der Entwicklung befindlichen Tastatur implementiert.
- Gibt 0 zurück, wenn die angegebene Taste nicht gedrückt wird, und eine andere Ganzzahl, wenn sie gedrückt wird.
- Übergeben Sie eine Ganzzahl oder die Konstante im vorherigen Abschnitt als Argument.
is_cursor_moving?(arg = 0.001)
--Vergleichen Sie die Cursorpositionen in den im Argument angegebenen Intervallen. Das Gerät ist Sekunden.
- Der Rückgabewert ist "true", wenn er verschoben wurde, und "false", wenn er nicht verschoben wurde.
- Daher ist es möglicherweise nicht möglich, korrekt zu bestimmen, ob sich der Cursor bewegt, wenn der Wert von "arg" groß ist.