[NASM] TSR

sirozz Messages postés 28 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 13 avril 2008 - 22 oct. 2004 à 17:01
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 - 23 oct. 2004 à 15:50
Slt à tous,

voila, j'essaye de capturer les événements clavier grâce à l'interruption 09h et un programme TSR, j'ai essayé sur 2000, sur XP et j'ai téléchargé plein de sources que j'ai compilé et rien ne fonctionne. voila mon source :

[org 100h]
[segment .text]
jmp install
DEBUT_RESIDENT
pushaw
... code du résident ...
popaw
IRET
OLD9SEG dw 0
OLD9OFF dw 0
TAILLE_RESIDENT equ $-DEBUT_RESIDENT

install: cli

sauveInt09 mov ah, 35h
mov al, 09h
int 21h
mov [OLD9SEG], es
mov [OLD9OFF], bx
ecritNewVect mov ax, cs
mov ds, ax
mov dx, DEBUT_RESIDENT
mov ah, 25h
mov al, 09h
int 21h
sti
quit mov dx, TAILLE_RESIDENT
shr dx, 4
inc dx
mov ax, 3100h
int 21h

Je galère avec ça depuis pas mal de temps alors si qqun a une idée ? merci.

In tartiflette we trust !

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 oct. 2004 à 18:54
Les evenements clavier sur Windows se capturent soit par un HOOK en mode user soit par un driver en mode kernel.
Les interruptions sont a oublier en mode protege.

ciao...
BruNews, MVP VC++
0
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
23 oct. 2004 à 15:50
Salut,
Effectivement,avec windows il faut oublier définitement les méthodes chers aux 8086.
La méthode est:
Produire un éxécutable windows .exe
utiliser les événements clavier
.elseif wmsg == WM_CHAR ;interception clavier
.if wparam == 20h ;caractere espace
ou
.elseif wmsg == WM_KEYDOWN

.if wparam == VK_F1 ; la touche F1

ToutEnMasm
0
Rejoignez-nous