Le programme indique la position du curseur et l'état du clic gauche et droit de la souris.
Certains codes montrent comment gérer la souris avec SetCursorPos, mais les anciens compilateurs DOS ne possèdent pas la librairie windows.h nécessaire à l'utilisation de SetCursorPos.
Pour y remédier, l'emploi du langage assembleur est obligatoire (enfin, je n'ai trouvé que cela). Il n'est pas difficile à utiliser sous Borland Turbo C++ 3.0. Il faut mettre une valeur dans le registre AX (0 à 3) et générer une interruption (ici, l'interruption n°33h).
Source / Exemple :
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
void main()
{
int x, y, clic;
clrscr();
_AX=0; geninterrupt(0x33); // initialise le driver de la souris
_AX=1; geninterrupt(0x33); // affiche le curseur de la souris
// _AX=2; geninterrupt(0x33); // efface le curseur de la souris
_setcursortype(_NOCURSOR); // on retire le "curseur du clavier"
do
{
_AX=3; geninterrupt(0x33); // recherche des infos de la souris
clic=_BX; // le clic se trouve dans _BX
x=_CX; // l'abscisse dans le registre _CX
y=_DX; // la coordonne dans _DX
gotoxy(1, 1);
printf("Position : %d - %d ", x, y); // on affiche la position
// si on ne clique pas
if (clic == 0)
{
gotoxy (1, 2);
printf ("Clic Gauche : OFF");
gotoxy (1, 3);
printf ("Clic Droit : OFF ");
}
// clic gauche
if (clic & 1)
{
gotoxy (1, 2);
printf ("Clic Gauche : ON ");
}
// clic droit
if (clic & 2)
{
gotoxy (1, 3);
printf ("Clic Droit : ON ");
}
}
while (!kbhit()); // tant qu'on appuie sur aucune touche, on boucle
}
Conclusion :
BeLZeL (belzel@free.fr)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.