|
Dernière réponse | |
---|---|
Sujet : Avoir les positions de la souris en mode graphique sous DOS... | |
ethernal | ça va te plaire je pense, c'est un prog qu'on avait fait en 1ère graduat.
En gros la position X du curseur se trouve dans le registre regs.x.cx et y dans regs.x.dx; /************************************************************** * SOURIS2.C : Gestion de la souris * **************************************************************/ #include "header.c" union REGS regs; int x,y; extern int fin; void test_mouse() /* Teste si une souris est connect?e */ { regs.x.ax= 0; /* Type d'interruption 0= Test */ int86(0x33, ®s, ®s); /* Interruption 33h pour init. la souris */ if (!regs.x.ax) /* Teste si la souris est trouvée */ { printf("Souris non trouv?e\n" ); exit(1); getch(); } } void press_Lbutton() { regs.x.ax= 6; /* Type d'interruption 3= position du curseur */ regs.x.bx= 0; /* met le registre à 0 (bouton de gauche) */ int86(0x33, ®s, ®s); /* Interruption 33h pour init. la souris */ x= regs.x.cx; /* CX= la position X de la souris */ y= regs.x.dx; /* DX= la position Y de la souris */ return; } void display_mouse() /* Afiche le curseur de la souris */ { regs.x.ax= 1; /* Type d'interruption 1= Affiche curseur */ int86(0x33, ®s,®s); return; } void hide_mouse() /* Cache le curseur de la souris */ { /* Type d'interruption 2= cache curseur */ regs.x.ax=2; int86(0x33, ®s, ®s); } [edtdd]--Message édité par ethernal--[/edtdd] |
Vue Rapide de la discussion |
---|