' Text durch Simulieren von Tastenanschlägen
' an das aktive Control senden
Public Sub SendKeysEx(ByVal sText As String)
Dim VK As eVirtualKeyCode
Dim sChar As String
Dim i As Short
Dim bShift As Boolean
Dim bAlt As Boolean
Dim bCtrl As Boolean
Dim nScan As Integer
Dim nExtended As Integer
' Jedes Zeichen einzeln senden
For i = 1 To Len(sText)
' aktuelles Zeichen extrahieren
sChar = Mid(sText, i, 1)
' Sonderzeichen?
bShift = False : bAlt = False : bCtrl = False
If sChar = "{" Then
If UCase(Mid(sText, i + 1, 9)) = "BACKSPACE" Then
VK = eVirtualKeyCode.VK_BAK
i = i + 9
ElseIf UCase(Mid(sText, i + 1, 2)) = "BS" Then
VK = eVirtualKeyCode.VK_BAK
i = i + 3
ElseIf UCase(Mid(sText, i + 1, 4)) = "BKSP" Then
VK = eVirtualKeyCode.VK_BAK
i = i + 5
ElseIf UCase(Mid(sText, i + 1, 5)) = "BREAK" Then
VK = eVirtualKeyCode.VK_PAUSE
i = i + 6
ElseIf UCase(Mid(sText, i + 1, 8)) = "CAPSLOCK" Then
VK = eVirtualKeyCode.VK_CAPITAL
i = i + 9
ElseIf UCase(Mid(sText, i + 1, 6)) = "DELETE" Then
VK = eVirtualKeyCode.VK_DELETE
i = i + 7
ElseIf UCase(Mid(sText, i + 1, 3)) = "DEL" Then
VK = eVirtualKeyCode.VK_DELETE
i = i + 4
ElseIf UCase(Mid(sText, i + 1, 4)) = "DOWN" Then
VK = eVirtualKeyCode.VK_DOWN
i = i + 5
ElseIf UCase(Mid(sText, i + 1, 2)) = "UP" Then
VK = eVirtualKeyCode.VK_UP
i = i + 3
ElseIf UCase(Mid(sText, i + 1, 4)) = "LEFT" Then
VK = eVirtualKeyCode.VK_LEFT
i = i + 5
ElseIf UCase(Mid(sText, i + 1, 5)) = "RIGHT" Then
VK = eVirtualKeyCode.VK_RIGHT
i = i + 6
ElseIf UCase(Mid(sText, i + 1, 3)) = "END" Then
VK = eVirtualKeyCode.VK_END
i = i + 4
ElseIf UCase(Mid(sText, i + 1, 5)) = "ENTER" Then
VK = eVirtualKeyCode.VK_RETURN
i = i + 6
ElseIf UCase(Mid(sText, i + 1, 4)) = "HOME" Then
VK = eVirtualKeyCode.VK_HOME
i = i + 5
ElseIf UCase(Mid(sText, i + 1, 3)) = "ESC" Then
VK = eVirtualKeyCode.VK_ESCAPE
i = i + 4
ElseIf UCase(Mid(sText, i + 1, 4)) = "HELP" Then
VK = eVirtualKeyCode.VK_HELP
i = i + 5
ElseIf UCase(Mid(sText, i + 1, 6)) = "INSERT" Then
VK = eVirtualKeyCode.VK_INSERT
i = i + 7
ElseIf UCase(Mid(sText, i + 1, 3)) = "INS" Then
VK = eVirtualKeyCode.VK_INSERT
i = i + 4
ElseIf UCase(Mid(sText, i + 1, 7)) = "NUMLOCK" Then
VK = eVirtualKeyCode.VK_NUMLOCK
i = i + 8
ElseIf UCase(Mid(sText, i + 1, 4)) = "PGUP" Then
VK = eVirtualKeyCode.VK_PRIOR
i = i + 5
ElseIf UCase(Mid(sText, i + 1, 4)) = "PGDN" Then
VK = eVirtualKeyCode.VK_NEXT
i = i + 5
ElseIf UCase(Mid(sText, i + 1, 10)) = "SCROLLLOCK" Then
VK = eVirtualKeyCode.VK_SCROLL
i = i + 11
ElseIf UCase(Mid(sText, i + 1, 3)) = "TAB" Then
VK = eVirtualKeyCode.VK_TAB
i = i + 4
ElseIf UCase(Mid(sText, i + 1, 2)) = "F1" Then
VK = eVirtualKeyCode.VK_F1
i = i + 3
ElseIf UCase(Mid(sText, i + 1, 2)) = "F2" Then
VK = eVirtualKeyCode.VK_F2
i = i + 3 Teil 3 kommt sofort
-----------------------------------
Betriebssystem: Schrott (Vista)
Entwicklungsumgebung: VS 2008
|