Lire buffer clavier sous DOS
Bjr à tous,
Voilà j'ai un programme qui rempli le buffer clavier sous dos (j'ai pas les souces) !
J'ai besoin de récupérer ce qui est dans le buffer clavier via un autre programme, mais je sais pas trop comment faire
si vous avez des idées :?
Merci d'avance
Re: Lire buffer clavier sous DOS
Citation:
Envoyé par rjulie
Voilà j'ai un programme qui rempli le buffer clavier sous dos (j'ai pas les souces) !
J'ai besoin de récupérer ce qui est dans le buffer clavier via un autre programme, mais je sais pas trop comment faire
getch() de conio. Il faut l'original (Turbo C ou Borland C).
Il faut aussi une authentique machine MS-DOS (ou Windows non NT).
Sinon tu peux lire le buffer directement en mémoire BIOS :
Code:
1 2 3 4
|
40:1A word Offset from 40:00 to keyboard buffer head
40:1C word Offset from 40:00 to keyboard buffer tail
40:1E 32bytes Keyboard buffer (circular queue buffer) |
http://heim.ifi.uio.no/~stanisls/helppc/bios_data_area.html
J'espère que tu sais ce que tu fais...
Re: Lire buffer clavier sous DOS
Citation:
Envoyé par Emmanuel Delahaye
Il faut aussi une authentique machine MS-DOS (ou Windows non NT).
Sinon tu peux lire le buffer directement en mémoire BIOS :
Code:
1 2 3 4
|
40:1A word Offset from 40:00 to keyboard buffer head
40:1C word Offset from 40:00 to keyboard buffer tail
40:1E 32bytes Keyboard buffer (circular queue buffer) |
http://heim.ifi.uio.no/~stanisls/helppc/bios_data_area.html
J'espère que tu sais ce que tu fais...
D'abord merci pour ta réponse !
non je sais pas trop ce que je fais hélas :-(
Je suis bien sur une machine DOS, en fait je programme avec watcom c un programme qui doit tourner sous DOS :-(
Donc comme j'ai pas Turbo C je pense pas que je puisse lire avec conio.h, par contre quelles fonctions est ce que je dois utiliser pour lire directement dans le BIOS ?
Merci
Re: Lire buffer clavier sous DOS
Citation:
Envoyé par rjulie
Je suis bien sur une machine DOS, en fait je programme avec watcom c un programme qui doit tourner sous DOS
Donc comme j'ai pas Turbo C je pense pas que je puisse lire avec conio.h, par contre quelles fonctions est ce que je dois utiliser pour lire directement dans le BIOS ?
Il faut lire la doc de ton compilateur pour trouver le mécanisme qui permet de fabriquer un pointeur sur la mémoire physique.
Avec Borland C, on fait :
Code:
1 2 3 4 5
|
#include <dos.h>
/* adresse de base de la zone Data BIOS en 0040:0000 */
unsigned char *p_bios = MK_FP (0x0040, 0x0000); |