|
Option Explicit
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_E = &H45
Private Const VK_F = &H46
Private Const VK_M = &H4D
Private Const VK_R = &H52
Private Const VK_F1 = &H70
Private Const VK_CONTROL = &H11
Private Const VK_LWIN = &H5B
Private Const VK_MENU = &H12
Private Const VK_SHIFT = &H10
Private Const KEYEVENTF_KEYUP = &H2
Private Sub Command1_Click(Index As Integer)
Dim Taste1 As Long, Taste2 As Long, Taste3 As Long
Select Case Index
Case 0 'Ausführen-Dialog (RUN) anzeigen
Taste1 = VK_LWIN
Taste2 = VK_R
Taste3 = 0
Case 1 'Dateien-Suchen-Dialog (FIND) anzeigen
Taste1 = VK_LWIN
Taste2 = VK_F
Taste3 = 0
Case 2 'Windows-Explorer anzeigen
Taste1 = VK_LWIN
Taste2 = VK_E
Taste3 = 0
Case 3 'Windows-Hilfe anzeigen
Taste1 = VK_LWIN
Taste2 = VK_F1
Taste3 = 0
Case 4 'Start-Menü anzeigen
Taste1 = VK_LWIN
Taste2 = 0
Taste3 = 0
Case 5 'Alle Fenster minimieren
Taste1 = VK_LWIN
Taste2 = VK_M
Taste3 = 0
Case 6 'Fenster wiederherstellen
Taste1 = VK_SHIFT
Taste2 = VK_LWIN
Taste3 = VK_M
End Select
Call TastenCodesSenden(Taste1, Taste2, Taste3)
End Sub
Private Sub TastenCodesSenden(ByVal Taste1 As Long, _
ByVal Taste2 As Long, ByVal Taste3 As Long)
'Tasten in der gegebenen Reihenfolge drücken:
If Taste1 <> 0 Then keybd_event Taste1, 0, 0, 0
If Taste2 <> 0 Then keybd_event Taste2, 0, 0, 0
If Taste3 <> 0 Then keybd_event Taste3, 0, 0, 0
'Tasten in umgekehrten Reihenfolge wieder lösen:
If Taste3 <> 0 Then keybd_event Taste3, 0, KEYEVENTF_KEYUP, 0
If Taste2 <> 0 Then keybd_event Taste2, 0, KEYEVENTF_KEYUP, 0
If Taste1 <> 0 Then keybd_event Taste1, 0, KEYEVENTF_KEYUP, 0
End Sub
|
|