Page 1 sur 1

[Resolu] 2 touches en même temps ?

Publié : mar. 29/juin/2010 22:17
par Ar-S
Je suis en train de faire un tout petit exe qui doit détecter l'appuie sur 2 touches claviers
j'utilise donc GetAsyncKeyState_

Question toute bête, quelle est la syntaxe pour détecter l'appuie de 2 touches comme CONTROL + L par exemple ?
avec une touche ça donne :

Code : Tout sélectionner

GetAsyncKeyState_ ( #VK_CONTROL )
Repeat
  If GetAsyncKeyState_ ( #VK_CONTROL )
    MessageRequester("Touche appuyée","wizzz") ;
    end
  EndIf
  Delay (100)
ForEver

Re: 2 touches en même temps ?

Publié : mer. 30/juin/2010 8:02
par Warkering
Bah, tu peux utiliser la librairie Keyboard, elle est la pour ça! :lol:

Re: 2 touches en même temps ?

Publié : mer. 30/juin/2010 8:20
par gnozal
Ar-S a écrit :Je suis en train de faire un tout petit exe qui doit détecter l'appuie sur 2 touches claviers
j'utilise donc GetAsyncKeyState_

Question toute bête, quelle est la syntaxe pour détecter l'appuie de 2 touches comme CONTROL + L par exemple ?
Par exemple :

Code : Tout sélectionner

      ; Windows x86
      If (GetAsyncKeyState_(#VK_CONTROL) & 32768) And (GetAsyncKeyState_(#VK_L) & 32768)
         ; CTRL + L
      EndIf
Pourquoi j'ai ajouté '& 32768' :
If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState.

Re: 2 touches en même temps ?

Publié : mer. 30/juin/2010 11:40
par Ar-S
Merci Gnozal pour cette explication. Image