Vous n'êtes pas identifié.
ou je peut le prendre ?
paske je crois ke je vais en avoir bien besoin !
Hors ligne
Je ne sais pas si vous aviez remarqué mais lorsqu'on lance un programme à partir d'un icône en appuyant très rapidement et plusieurs fois sur EXE, plusieurs valeurs de touches se mettent dans le buffer touche, or une seule est executée, et il reste toutes les autres. Résultat, lorsqu'on quitte un programme ayant désactivé l'int 9, il se relance immédiatement.
Pour palier à ce problème, j'ai fait quelques recherches sur le buffer touche. J'ai écrit un article disponible sur http://www.fgpstudios.fr.st (en fait il sera pô dispo avant mardi)
Cela m'a permis de faire ces deux fonctions : emptybuf() règle le problème énoncé précédemment alors que set_buf_value() est une fonction à mon avis inutile, mais on ne sait jamais, si ça peut servir à quelqu'un.
// Vide le buffer touche en annulant toutes les touches // pressees, ce qui permet d'utiliser sans bugs les touches // multiples meme lorsque l'interruption 9 est activee. // A utiliser avant chaque changement d'acces au clavier. // Fonction extraite de DB-Lib.h par Swifter. void emptybuf() { asm{ mov ax,0x40 mov es,ax mov al,es:0x1B mov es:0x1D,al } } // Permet d'inserer une touche (a moins de connaitre la bonne valeur) // dans le buffer touche sans avoir a presser une touche sur le clavier. // Fonction extraite de DB-Lib.h par Swifter. void set_buf_value(unsigned int value) { asm{ mov ax,0x40 mov es,ax mov ax,value mov di,es:0x1B mov es:[di],ax add di,0x2 cmp di,0x3F jne next xor di,0x20 } next: asm mov es:0x1B,di }
Hors ligne
si set_buf_value ca permet de créer un fichier basic manuellement :ptdr: : [exit][8][F3][nom du fichier basic][exe][templissage] :mrd: voir mon post ya longtemps sur la création des fichiers basic!!!
Hors ligne
lol...
bon ca y est j'ai mis un article sur le buffer touche...
pour le voir : http://fgpstudios.free.fr/cours.php3?action=view
Hors ligne
Sans deconner, on pourrai utiliser ca pour lancer des programmes Basic !!!!
Hors ligne