vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Num Lock LEDs aktivieren? 
Autor: cracsta00
Datum: 08.06.04 14:15

Danke für den Tipp!
Ich konnte jetzt eine Programmidee realisieren die
ich schon lange im Kopf habe. Und zwar eine Art
Lauflicht an der Tastatur.
Ich habe einfach mal einen gekürtzten Code des Tools
angefügt. Allerdings hatte ich noch keine Zeit ihn
auszukommentieren, ich hoffe er ist auch so verständlich.

==========================================
==========================================

benötigt werden:
1 Button: cmdStartPause
1 Timer: tmrMain

==========================================

Option Explicit

Private Declare Function GetKeyState Lib "user32" ( _
ByVal nVirtKey As Long) As Integer

Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)

Private Const VK_NUMLOCK = &H90
Private Const VK_CAPITAL = &H14
Private Const VK_SCROLL = &H91

Private Const KEYEVENTF_KEYUP = &H2

Private Sub NumLock_On()
If Not (GetKeyState(vbKeyNumlock) = 1) Then
keybd_event VK_NUMLOCK, 1, 0, 0
keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0
End If
End Sub
Private Sub NumLock_Off()
If (GetKeyState(vbKeyNumlock) = 1) Then
keybd_event VK_NUMLOCK, 1, 0, 0
keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0
End If
End Sub
Private Sub CapsLock_On()If Not (GetKeyState(vbKeyCapital) = 1) Then
keybd_event VK_CAPITAL, 1, 0, 0
keybd_event VK_CAPITAL, 1, KEYEVENTF_KEYUP, 0
End If
End Sub
Private Sub CapsLock_Off()
If (GetKeyState(vbKeyCapital) = 1) Then
keybd_event VK_CAPITAL, 1, 0, 0
keybd_event VK_CAPITAL, 1, KEYEVENTF_KEYUP, 0
End If
End Sub
Private Sub ScrollLock_On()
If Not (GetKeyState(VK_SCROLL) = 1) Then
keybd_event VK_SCROLL, 1, 0, 0
keybd_event VK_SCROLL, 1, KEYEVENTF_KEYUP, 0
End If
End Sub
Private Sub ScrollLock_Off()
If (GetKeyState(VK_SCROLL) = 1) Then
keybd_event VK_SCROLL, 1, 0, 0
keybd_event VK_SCROLL, 1, KEYEVENTF_KEYUP, 0
End If
End Sub

Private Sub lauf1()
Static i As Integer
Select Case i
Case 0
ScrollLock_Off
NumLock_On
i = 1
Case 1
NumLock_Off
CapsLock_On
i = 2
Case 2
CapsLock_Off
ScrollLock_On
i = 0
End Select
End Sub

Private Sub lauf2()
Static i As Integer
Select Case i
Case 0
NumLock_On
i = 1
Case 1
CapsLock_On
i = 2
Case 2
ScrollLock_On
NumLock_Off
i = 3
Case 3
CapsLock_Off
i = 4
Case 4
ScrollLock_Off
i = 0
End Select
End Sub
Private Sub lauf3()
Static i As Integer
Select Case i
Case 0
NumLock_On
CapsLock_Off
i = 1
Case 1
NumLock_Off
CapsLock_On
i = 2
Case 2
ScrollLock_On
CapsLock_Off
i = 3
Case 3
ScrollLock_Off
CapsLock_On
i = 0
End Select
End Sub
Private Sub lauf4()
Static i As Integer
Select Case i
Case 0
NumLock_On
CapsLock_On
ScrollLock_On
i = 1
Case 1
NumLock_Off
CapsLock_Off
ScrollLock_Off
i = 0
End Select
End Sub

Private Sub cmdStartPause_Click()
If tmrMain.Enabled = True Then
tmrMain.Enabled = False
cmdStartPause.Caption = "start"
Else
tmrMain.Enabled = True
cmdStartPause.Caption = "pause"
End If
End Sub

Private Sub Form_Load()
cmdStartPause.Caption = "Pause"
End Sub

Private Sub tmrmain_Timer()
Randomize Timer
Static rndChoice As Byte
Static howOften As Byte
Static soOften As Byte

If howOften = soOften Then
howOften = 0
rndChoice = Int((4 * Rnd) + 1)
soOften = Int((50 * Rnd) + 1)
Else
howOften = howOften + 1
End If

Select Case rndChoice
Case 1
lauf1
Case 2
lauf2
Case 3
lauf3
Case 4
lauf4
End Select
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Num Lock LEDs aktivieren?832cracsta0025.05.04 15:36
Re: Num Lock LEDs aktivieren?726ModeratorDieter25.05.04 17:43
Re: Num Lock LEDs aktivieren?934cracsta0008.06.04 14:15

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel