На всякий случай привожу свой код на VB 6.0:
Код: Выделить всё
'©2009 Filyus (KIRK)
'Пример испольования:
'> PressChar.exe "0169 0160 0169"
Private Const VK_MENU = &H12
Private Const KEYEVENTF_KEYUP = &H2
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Sub Main()
Dim a As Byte, b As Byte
S = Replace(Command$, """", "")
SS = Split(S, " ")
For k = 0 To UBound(SS)
n = Len(SS(k))
If n > 0 Then
keybd_event VK_MENU, 0, 0, 0
For i = 1 To n
c = CByte(Mid(SS(k), i, 1))
a = c + &H60
Select Case c
Case 0: b = &H52
Case 1: b = &H4F
Case 2: b = &H50
Case 3: b = &H51
Case 4: b = &H4B
Case 5: b = &H4C
Case 6: b = &H4D
Case 7: b = &H47
Case 8: b = &H48
Case 9: b = &H49
End Select
keybd_event a, b, 0, 0
keybd_event a, b, KEYEVENTF_KEYUP, 0
Next i
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End If
Next k
End Sub