Page 1 sur 1
[R] Infobulle quand majuscule activée
Posté : dim. 03 mars 2013 14:20
par Utilisateur 4989 supprimé
Bonjour,
j'ai un ordi qui n'a pas de diode pour la touche majuscule. Du coup, je ne sais pas quand elle est activée ou pas.
J'ai alors créé ce code pour afficher une infobulle quand la majuscule est activée, mais dès fois ça ne marche pas bien (l'infobulle n'apparaît pas quand la majuscule est activée et inversement) :
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#include <File.au3>
Opt("TrayMenuMode", 1)
Global $adresse = "....."
If FileExists($adresse & "Test\Maj.txt") Then
Maj_on()
EndIf
While 1
If _IsPressed("14") And FileExists($adresse & "Test\Maj.txt") = 0 Then
Maj_on()
While _IsPressed("14")
Sleep(1)
WEnd
EndIf
If _IsPressed("14") And FileExists($adresse & "Test\Maj.txt") Then
Maj_off()
While _IsPressed("14")
Sleep(1)
WEnd
EndIf
WEnd
DllClose("user32.dll")
Else
Exit
EndIf
EndIf
Func Maj_on()
_FileCreate($adresse & "Test\Maj.txt")
TraySetIcon("C:\Windows\System32\credwiz.exe")
TrayTip("", "Majuscule activée", 0)
TraySetToolTip("Majuscule activée")
TraySetState()
EndFunc
Func Maj_off()
FileDelete($adresse & "Test\Maj.txt")
Opt("TrayIconHide", 1)
EndFunc
Func _IsPressed($sHexKey, $vDLL = 'user32.dll')
Local $a_R = DllCall($vDLL, "short", "GetAsyncKeyState", "int", '0x' & $sHexKey)
If @error Then Return SetError(@error, @extended, False)
Return BitAND($a_R[0], 0x8000) <> 0
EndFunc
Comment faire pour que ça marche mieux ?
Merci d'avance.
Re: [..] Infobulle quand majuscule activée
Posté : dim. 03 mars 2013 15:24
par mikell
Voilà, reste à adapter
► Afficher le texte
Code : Tout sélectionner
AdlibRegister("_TestMaj", 100)
While 1
Sleep(10)
Wend
Func _TestMaj()
Local Static $status0
Local $status = _IsToggled("14")
If $status<>$status0 Then
If $status Then
ToolTip("MAJ activée", @desktopwidth/2, 10)
Else
ToolTip("")
EndIf
$status0 = $status
EndIf
EndFunc
Func _IsToggled($sHexKey, $vDLL = 'user32.dll')
Local $a_R = DllCall($vDLL, "short", "GetKeyState", "int", '0x' & $sHexKey)
If Not @error And BitAND($a_R[0], 0xFF) = 1 Then Return 1
Return 0
EndFunc ;==>_IsToggled
Re: [..] Infobulle quand majuscule activée
Posté : dim. 03 mars 2013 15:51
par Utilisateur 4989 supprimé
Merci, c'est nickel
Désolé, j'envahis le forum avec toutes mes questions, mais sans ton aide précieuse, je ne serait jamais arrivé à faire tout ça. Encore une fois, merci beaucoup.
Sujet résolu.