[Résolu] Rendre le pavé numérique toujours actif
[Résolu] Rendre le pavé numérique toujours actif
Bonjour à tous
Je viens vers vous une fois de plus car je cherche la library PureLib.pb et pour le moment je ne la trouve nul part.
Si vous avez un lien grand merci à vous !
Cordialement
Brossden
Je viens vers vous une fois de plus car je cherche la library PureLib.pb et pour le moment je ne la trouve nul part.
Si vous avez un lien grand merci à vous !
Cordialement
Brossden
Dernière modification par brossden le jeu. 20/juil./2023 13:51, modifié 5 fois.
Denis
Bonne Jounée à tous
Bonne Jounée à tous
Re: PureLib.pb
Tu parles d'un fichier créé par ArS ?
Re: PureLib.pb
Bonjour ollivier et merci de te pencher sur mon problème
Je ne sais pas, j'ai trouvé ce code et je cherche à le tester :
I
Je cherche une solution pour toujours avoir le clavier numérique en mode "numlock"
Je ne sais pas, j'ai trouvé ce code et je cherche à le tester :
I
includeFile "PureLib/PureLib.pb"
Procedure CheckNumLockState()
If ReadRegKeyString(HKEY_CURRENT_USER, "Control Panel\Keyboard", "InitialKeyboardIndicators") = "2"
MessageRequester("État du pavé numérique", "Le pavé numérique est verrouillé.")
Else
MessageRequester("État du pavé numérique", "Le pavé numérique n'est pas verrouillé.")
EndIf
EndProcedure
Je cherche une solution pour toujours avoir le clavier numérique en mode "numlock"
Denis
Bonne Jounée à tous
Bonne Jounée à tous
-
- Messages : 604
- Inscription : lun. 26/avr./2010 16:14
- Localisation : S 48° 52' 31'' / O 123° 23' 33''
Re: PureLib.pb
Salut Denis,
Sous Windows, avec un EventTimer()
Sous Windows, avec un EventTimer()
Code : Tout sélectionner
keybd_event_(#VK_NUMLOCK,0,#KEYEVENTF_EXTENDEDKEY|0,#true) ; #True = NumLock verrouillé et donc #False = NumLock déverrouillé :)
Re: PureLib.pb
Désolé boddhi mais que le pavé soit verrouillé ou pas la réponse est la même True ! Mais merci quand même pour ton aide !
Denis
Bonne Jounée à tous
Bonne Jounée à tous
-
- Messages : 604
- Inscription : lun. 26/avr./2010 16:14
- Localisation : S 48° 52' 31'' / O 123° 23' 33''
Re: PureLib.pb
brossden a écrit : Désolé boddhi mais que le pavé soit verrouillé ou pas la réponse est la même True ! Mais merci quand même pour ton aide !

De plus, Keybd_Event() semble avoir été déprécié par MS depuis un certain temps...
Essaye plutôt ça :
Code : Tout sélectionner
Procedure Pc_BloquerToucheNUMLOCK()
Protected.INPUT Saisie
If GetKeyState_(#VK_NUMLOCK)<>#True
With Saisie
\type=#INPUT_KEYBOARD
\ki\wVk=#VK_NUMLOCK
\ki\dwFlags=0
SendInput_(1,@Saisie,SizeOf(INPUT))
\ki\dwFlags=#KEYEVENTF_KEYUP
SendInput_(1,@Saisie,SizeOf(INPUT))
EndWith
EndIf
EndProcedure
OpenWindow(0,100,100,200,200,"Test",#PB_Window_SystemMenu)
AddWindowTimer(0,0,100)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Timer
If EventTimer()=0
Pc_BloquerToucheNUMLOCK()
EndIf
Case #PB_Event_CloseWindow:End
EndSelect
ForEver
Re: PureLib.pb
Désolé boddhi mais ce n'est pas mieux... Merci tout de même d'essayer!
Denis
Bonne Jounée à tous
Bonne Jounée à tous
-
- Messages : 604
- Inscription : lun. 26/avr./2010 16:14
- Localisation : S 48° 52' 31'' / O 123° 23' 33''
Re: PureLib.pb

Quand tu parles de clavier numérique, tu fais bien référence au pavé numérique à droite d'un clavier simple et non des chiffres situés au dessus des caractères alphabétiques ?
Si c'est bien le cas, je t'assure que le code fonctionne correctement (Sous W10 x64 / PB 6.02 x64).Je l'ai testé 4 ou 5 fois...

Re: PureLib.pb
Non tu testes uniquement l'appuis sur la touche mais pas l'état "numlock on" ou "numlock off"
De plus test le code que tu as mis ici rien ne se passe dans la fenêtre.
De plus test le code que tu as mis ici rien ne se passe dans la fenêtre.
Denis
Bonne Jounée à tous
Bonne Jounée à tous
Re: PureLib.pb
Ceci: (Windows API)
1 = Numlock On
0 = Numlock Off
Source et exemple
https://www.rsbasic.de/winapi-library/
WinAPI Library
> Souris et clavier
> Trouver le verrouillage numérique, le verrouillage des majuscules, le verrouillage du défilement
(Testé)

Code : Tout sélectionner
Debug GetKeyState_(#VK_NUMLOCK) & 1
0 = Numlock Off
Source et exemple
https://www.rsbasic.de/winapi-library/
WinAPI Library
> Souris et clavier
> Trouver le verrouillage numérique, le verrouillage des majuscules, le verrouillage du défilement
Code : Tout sélectionner
;Autor: Josef Sniatecki
EnableExplicit
Define EventID
Procedure.s CheckCapsLock()
If GetKeyState_(#VK_CAPITAL) & 1
ProcedureReturn "Caps Lock: On"
Else
ProcedureReturn "Caps Lock: Off"
EndIf
EndProcedure
Procedure.s CheckNumLock()
If GetKeyState_(#VK_NUMLOCK) & 1
ProcedureReturn "Num Lock: On"
Else
ProcedureReturn "Num Lock: Off"
EndIf
EndProcedure
Procedure.s CheckScrollLock()
If GetKeyState_(#VK_SCROLL) & 1
ProcedureReturn "Scroll Lock: On"
Else
ProcedureReturn "Scroll Lock: Off"
EndIf
EndProcedure
If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
TextGadget(1,10,10,100,20,"",0)
TextGadget(2,10,30,100,20,"",0)
TextGadget(3,10,50,100,20,"",0)
SetGadgetText(1,CheckCapsLock())
SetGadgetText(2,CheckScrollLock())
SetGadgetText(3,CheckNumLock())
Repeat
EventID=WaitWindowEvent()
If EventID=#WM_KEYUP
SetGadgetText(1,CheckCapsLock())
SetGadgetText(2,CheckScrollLock())
SetGadgetText(3,CheckNumLock())
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf
; IDE Options = PureBasic 5.30 (Windows - x64)
; CursorPosition = 2
; Folding = -
; EnableXP
; EnableUser
; EnableCompileCount = 1
; EnableBuildCount = 0

Re: PureLib.pb
Bravo Marc56
ça marche impeccablement et hyper concis
as tu un code pour forcer le pavé numérique en mode actif ?
ça marche impeccablement et hyper concis
as tu un code pour forcer le pavé numérique en mode actif ?
Denis
Bonne Jounée à tous
Bonne Jounée à tous
Re: PureLib.pb
Dans la même section du site Rsbasic
Source et exemple
https://www.rsbasic.de/winapi-library/
WinAPI Library
> Souris et clavier
(je n'ai pas testé les autres fonctions)
PS. Prendre parfois la section en anglais du site, car les traductions français ne sont pas toutes exactes.
Source et exemple
https://www.rsbasic.de/winapi-library/
WinAPI Library
> Souris et clavier
(je n'ai pas testé les autres fonctions)
PS. Prendre parfois la section en anglais du site, car les traductions français ne sont pas toutes exactes.
Re: PureLib.pb
Merci à tous et particulièrement à Marc56 qui m'a révélé la solution.
Je suis heureux de constater qu'il y a toujours quelqu'un pour aider ceux qui sont dans la panade alors un grand MERCI à tout le monde !
Pour être sûr de toujours avoir le pavé numérique actif voici le code :
Je suis heureux de constater qu'il y a toujours quelqu'un pour aider ceux qui sont dans la panade alors un grand MERCI à tout le monde !
Pour être sûr de toujours avoir le pavé numérique actif voici le code :
Code : Tout sélectionner
If OpenWindow(0,0,0,300,20,"Pavé numerique Activé",#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
Repeat
If GetKeyState_(#VK_NUMLOCK) & 1 = 0
keybd_event_(#VK_NUMLOCK,0,#KEYEVENTF_EXTENDEDKEY|0,0)
keybd_event_(#VK_NUMLOCK,0,#KEYEVENTF_EXTENDEDKEY|#KEYEVENTF_KEYUP,0)
EndIf
Event = WindowEvent()
WaitWindowEvent(200)
Until Event = #PB_Event_CloseWindow
EndIf
Denis
Bonne Jounée à tous
Bonne Jounée à tous
Re: PureLib.pb Résolu mais sans cette library
Les touches sous le pavé numérique restent accessibles en appuyant sur Shift (tabulateur haut)
Denis
Bonne Jounée à tous
Bonne Jounée à tous
-
- Messages : 604
- Inscription : lun. 26/avr./2010 16:14
- Localisation : S 48° 52' 31'' / O 123° 23' 33''
Re: [Résolu] Rendre le pavé numérique toujours actif
Salut Brossden,
Ton code est indéniablement plus concis et rapide que le mien !
Toutefois, une petite remarque :
Et quant à une interaction avec la fenêtre, ce n'était pas précisé dans ta requête.
Cdlt.
Ton code est indéniablement plus concis et rapide que le mien !

Toutefois, une petite remarque :
brossden a écrit : sam. 15/juil./2023 9:06 Non tu testes uniquement l'appuis sur la touche mais pas l'état "numlock on" ou "numlock off"
De plus test le code que tu as mis ici rien ne se passe dans la fenêtre.
Mon code répondait bien à ta demande initiale, à savoir, avoir toujours le numlock activé.brossden a écrit : ven. 14/juil./2023 12:36 Je cherche une solution pour toujours avoir le clavier numérique en mode "numlock"
Et quant à une interaction avec la fenêtre, ce n'était pas précisé dans ta requête.

Cdlt.