Bonjour.
Je sais je post beaucoup mais je suis dans un lourd projet
Alors pour mon projet, j'ai besoin de faire la différence entre une touche majuscule et une minuscule. Mais j'ai des problèmes dures à décrire donc merci de tester. Sur ce, voici un extrait de mon code qui est FONCTIONNEL (bien sûr, commenté ):
; Includes
#Include <Misc.au3>
; Déclarations des HotKeySet
HotKeySet("a","PressA")
HotKeySet("A","PressCapsA")
; Déclarations des AdlibEnable pour toujours vérifier si les touches sont pressées
AdlibEnable("VerifyCaps",50)
; Ouverture des DLLs
Global $dlluser32 = DllOpen("user32.dll")
; Ici on déclare la variable booléenne qui détermine si le touche Caps Lock est activé ou non
Global $caps = GetCapsState()
; Voici la fonction utilisée plus haut, qui renvoie si la touche Caps Lock est activée ou non
Func GetCapsState()
Local Const $VK_CAPITAL = 0x14
Local $state = DllCall("user32.dll","long","GetKeyState","long",$VK_CAPITAL)
Local $back = $state[0]
Return $back
EndFunc
; Fonction chargée de voir si la touche Caps Lock est activée ou désactivée durant le programme
Func VerifyCaps()
If _IsPressed("14",$dlluser32) Then
If $caps Then
$caps = false
Else
$caps = true
EndIf
EndIf
EndFunc
; Voici les 2 fonctions principales qui interceptent les lettres (notez le "Z" est pour les tests)
Func PressA()
HotKeySet("a")
If $caps Then
Send("A")
Else
Send("a")
EndIf
HotKeySet("a","PressA")
EndFunc
Func PressCapsA()
HotKeySet("A")
If $caps Then
Send("z")
Else
Send("Z")
EndIf
HotKeySet("A","PressCapsA")
EndFunc
; Boucle pour faire vivre le programme
While 1
WEnd