1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| Public Class Form1
Public FlagRun As Boolean = True
Public Tb As Short = 0
Private Declare Function GetKeyboardState Lib "user32" (ByRef pbKeyState As Byte) As Long
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Juste pour affiche la fenetre de démarrage que quelques secondes
Tb = 0
' un petit menu sur tous les Icone pour Fermé L'application
Me.Num.ContextMenuStrip = Me.ContextMenu1
Me.Maj.ContextMenuStrip = Me.ContextMenu1
Me.Def.ContextMenuStrip = Me.ContextMenu1
'
Me.Num.Text = "KeysStatut 1"
Me.Maj.Text = "KeysStatut M"
Me.Def.Text = "KeysStatut S"
' J'initialise les icon de la barre de notification
Me.Num.Icon = My.Resources.NumOn ' New Icon("NumOn.ico")
Me.Maj.Icon = My.Resources.MajOn ' New Icon("MajOn.ico")
Me.Def.Icon = My.Resources.DefOn 'New Icon("DefOn.ico")
'Parametrage de mon Timer
Me.Timer1.Interval = 1000
Me.Timer1.Enabled = True
Me.Timer1.Start()
End Sub
Private Sub ExistToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExistToolStripMenuItem.Click
' Fermeture brutale de l'appli
Application.Exit()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim Key(256) As Byte 'Pour GetKeyboardState
Static Dim M, N, D As Int16 'Pour facilité le debug
'Arret du Timer
Timer1.[Stop]()
'C'est le petit compteur qui ferme la fenetre aprs 4 seconde
If Tb = 4 Then
Me.WindowState = FormWindowState.Minimized
Me.Hide()
Tb += 1
ElseIf Tb < 4 Then
Tb += 1
End If
' Lecture de l'état du Clavier
Dim x As Long = GetKeyboardState(Key(0))
'Gestion des icone en fonction de l'état du clavier
If N <> Key(&H90) Then
N = Key(&H90)
If N = 1 Then
Num.Icon = My.Resources.NumOn 'New Icon("NumON.ico")
Num.ShowBalloonTip(1500, "NumLook", "ON", ToolTipIcon.Info)
Else
Num.Icon = My.Resources.NumOF 'New Icon("NumOF.ico")
Num.ShowBalloonTip(1500, "NumLook", "OFF", ToolTipIcon.Info)
End If
End If
If M <> Key(&H14) Then
M = Key(&H14)
If M = 1 Then
Maj.Icon = My.Resources.MajOn 'New Icon("MajON.ico")
Else
Maj.Icon = My.Resources.MajOf 'New Icon("MajOF.ico")
End If
End If
If D <> Key(&H91) Then
D = Key(&H91)
If D = 1 Then
Def.Icon = My.Resources.DefOn 'New Icon("DefON.ico")
Else
Def.Icon = My.Resources.DefOf 'New Icon("DefOF.ico")
End If
End If
'redemarage du timer
Timer1.Start()
End Sub
Private Sub Form1_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
'ja' fai cela apres avoir lu dans une discution que cela résolvait les PB de rafraichiossement des Icone mais pas chez moi
If (Me.WindowState = FormWindowState.Minimized) Then
Me.Hide()
Num.Visible = True
Maj.Visible = True
Def.Visible = True
End If
End Sub
End Class |
Partager