J'ai créé une bibliothèque d'extension Ruby en C
introduction
La personne qui a rédigé cet article est un débutant avec un niveau ** d'expérience en programmation de moins d'un an **.
Je pense qu'il y a des parties et des erreurs déroutantes, donc si vous le remarquez, laissez un commentaire.
Ce que j'ai fait
Bibliothèque d'extension pour utiliser la souris depuis Ruby
Langue utilisée
--C (décrire la bibliothèque elle-même)
Aperçu
Le code source est ici
- Vous pouvez obtenir les coordonnées du curseur de la souris et déplacer le curseur.
--Il est également possible de sortir un clic gauche et un clic droit.
- Puisqu'il inclut windows.h C, c'est ** Windows uniquement **. (Cela n'a pas été vérifié car je n'ai pas d'environnement autre que Windows, mais c'est probablement le cas)
- Comme il est compilé dans un environnement 32 bits, il ne fonctionne pas sur une machine 64 bits **. (Vérifié)
――Lorsque l'environnement sera prêt, j'élèverai la version 64 bits.
- ** Veuillez utiliser dans un environnement où Ruby fonctionne **.
Comment utiliser
require 'mouse'
Ou
(Si les scripts qui utilisent cette bibliothèque sont dans le même répertoire)
require_relative 'mouse'
Méthodes et constantes définies
getCursorPosX()
- Obtenez la coordonnée X du curseur.
getCursorPosY()
- Obtenez la coordonnée Y du curseur.
setCursorPos(x,y)
--Déplacez la position du curseur. Spécifiez la coordonnée X de la destination comme premier argument et la coordonnée Y comme deuxième argument.
sendMouseEvent(key)
- Une méthode qui génère le code de touche virtuelle des boutons gauche et droit de la souris.
--Passez un entier ou la constante suivante comme argument.
--
M_L_DOWN (= 2)
#L'état où le bouton gauche de la souris est enfoncé
--M_L_RELEASE (= 4)
# Bouton gauche de la souris relâché
--M_R_DOWN (= 8)
#L'état où le bouton droit de la souris est enfoncé
--M_R_RELEASE (= 16)
# Bouton droit de la souris relâché
getKeyState(key)
- Vérifie si une touche particulière de la souris ou du clavier est enfoncée.
- Cette méthode sera implémentée dans la bibliothèque pour faire fonctionner le clavier en cours de développement.
--Retourne 0 si la touche spécifiée n'est pas enfoncée, et tout autre entier si elle est enfoncée.
--Passez un entier ou la constante dans la section précédente comme argument.
is_cursor_moving?(arg = 0.001)
--Comparez les positions du curseur aux intervalles spécifiés dans l'argument. L'unité est la seconde.
- La valeur de retour est «true» si elle a été déplacée, et «false» si elle ne l'a pas été.
- Par conséquent, si la valeur de ʻarg` est grande, il peut ne pas être possible de déterminer correctement si le curseur se déplace.