... pour le Num-lock (que j'ai ajouté ) Rouge désactivée /// Vert Activé
... pour le Capslock Rouge désactivée /// Vert Activé
Code : Tout sélectionner
;Ar-S - PB 5.21 LTS x86
; Version modifié par dobro
;-enumeration
Enumeration
#Win
#Tim
EndEnumeration
Enumeration
#im_capslock_on
#im_capslock_off
#im_num_on
#im_num_off
Endenumeration
Enumeration
#SysTrayIcone_capslock
#SysTrayIcone_numlock
EndEnumeration
#Fonte=1
;----------------------------------------------------------------------------------------------
;-init
LoadFont(#fonte,"Arial",20,#PB_Font_Bold)
Global.b Quite
Quite = 0
Global State$,State2$
;----------------------------------------------------------------------------------------------
;-declaration
Declare Boucle()
Declare Create_icone()
Declare Openwin()
Declare test_key()
;----------------------------------------------------------------------------------------------
;- Prg
openwin()
Boucle()
End
;----------------------------------------------------------------------------------------------
;-boucle
Procedure Boucle()
Repeat
Event = WaitWindowEvent(2)
EvT = EventTimer()
Select Evt
Case #Tim
test_key()
EndSelect
Select Event
Case #WM_KEYDOWN
test_key()
Case #Win
test_key()
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Win
Quite = 1
Break
EndSelect
EndSelect
Until Quite = 1 Or WaitWindowEvent() = #PB_Event_CloseWindow
ProcedureReturn dummy
Endprocedure
;----------------------------------------------------------------------------------------------
;- create_icone
Procedure Create_icone()
CreateImage(#im_capslock_on,32,32)
StartDrawing(ImageOutput(#im_capslock_on))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(0,255,0))
DrawingFont(FontID(#fonte))
DrawText(10,4,"C",$0)
DrawText(8,2,"C",$FFFFFF)
StopDrawing()
CreateImage(#im_capslock_off,32,32)
StartDrawing(ImageOutput(#im_capslock_off))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(255,0,0))
DrawingFont(FontID(#fonte))
DrawText(10,2,"c",$0)
DrawText(8,0,"c",$FFFFFF)
StopDrawing()
CreateImage(#im_num_on,32,32)
StartDrawing(ImageOutput(#im_num_on))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(0,255,0))
DrawingFont(FontID(#fonte))
DrawText(10,4,"8",$0)
DrawText(8,2,"8",$FFFFFF)
StopDrawing()
CreateImage(#im_num_off,32,32)
StartDrawing(ImageOutput(#im_num_off))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(255,0,0))
DrawingFont(FontID(#fonte))
DrawText(10,4,"8",$0)
DrawText(8,2,"8",$FFFFFF)
StopDrawing()
EndProcedure
;----------------------------------------------------------------------------------------------
;-openwin
Procedure Openwin()
if OpenWindow(#win,#PB_Ignore, #PB_Ignore,350,0,"Verr Maj "+ State$,#PB_Window_Invisible)
AddWindowTimer(#Win, #Tim, 500)
AddSysTrayIcon(#SysTrayIcone_capslock, windowID(#win), ImageID(#im_capslock_off))
AddSysTrayIcon(#SysTrayIcone_numlock, windowID(#win), ImageID(#im_num_off))
Endif
EndProcedure
;----------------------------------------------------------------------------------------------
;-test_key
Procedure test_key()
If GetKeyState_(#VK_CAPITAL) = 0
ChangeSysTrayIcon(#SysTrayIcone_capslock, ImageID(#im_capslock_off))
Else
ChangeSysTrayIcon(#SysTrayIcone_capslock,ImageID(#im_capslock_on))
EndIf
If GetKeyState_(#VK_NUMLOCK) = 0
ChangeSysTrayIcon(#SysTrayIcone_numlock, ImageID(#im_num_off))
Else
ChangeSysTrayIcon(#SysTrayIcone_numlock, ImageID(#im_num_on))
EndIf
Endprocedure
;----------------------------------------------------------------------------------------------
; EPB