ildar
Осваивающий
- Сообщения
- 252
- Репутация
- 29
Сделал интерфейс для работы с кассой по UDP, все клавиши работают кроме Scroll Lock. При нажатии Num Lock в этом интерфейсе, на клавиатуре загорается индикатор, при нажатии на Scroll Lock ни клавиатура, ни касса не реагируют.
Код полностью:
Касса воспринимает нажатие Scroll Lock как команду переключения клавиатуры, нажал Scroll Lock - касса слушает мою клаву, второе нажатие Scroll Lock - переключается на свою (родную) клаву.
с помощью
этого не происходит.
Пробовал и
Тоже не работает. Не понимаю, что не так делаю.
Код полностью:
Код:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=e:\autoit\koda_1.7.2.8_b247_2010-04-15\forms\key.kxf
$Form1_1 = GUICreate("KeyEmulation", 643, 437, 192, 114)
$Button1 = GUICtrlCreateButton("Esc", 16, 16, 73, 49)
GUICtrlSetCursor (-1, 2)
$Button2 = GUICtrlCreateButton("F1", 152, 16, 73, 49)
$Button3 = GUICtrlCreateButton("F2", 240, 16, 73, 49)
$Button4 = GUICtrlCreateButton("F3", 328, 16, 73, 49)
$Button5 = GUICtrlCreateButton("F4", 416, 16, 73, 49)
$Button6 = GUICtrlCreateButton("F5", 152, 88, 73, 49)
$Button7 = GUICtrlCreateButton("F6", 240, 88, 73, 49)
$Button8 = GUICtrlCreateButton("F7", 328, 88, 73, 49)
$Button9 = GUICtrlCreateButton("F8", 416, 88, 73, 49)
$Button10 = GUICtrlCreateButton("Scroll Lock", 544, 88, 89, 49)
$Button11 = GUICtrlCreateButton("<", 16, 352, 81, 73)
$Button12 = GUICtrlCreateButton(">", 224, 352, 81, 73)
$Button13 = GUICtrlCreateButton("^", 120, 256, 81, 73)
$Button14 = GUICtrlCreateButton("v", 120, 352, 81, 73)
$Button15 = GUICtrlCreateButton("Tab", 16, 88, 73, 49)
$Button16 = GUICtrlCreateButton("Alt + F10", 16, 176, 73, 49)
$Button17 = GUICtrlCreateButton("Alt + 244", 104, 176, 73, 49)
$Button18 = GUICtrlCreateButton("Alt + 245", 192, 176, 73, 49)
$Button19 = GUICtrlCreateButton("Alt + 246", 280, 176, 73, 49)
$Button20 = GUICtrlCreateButton("Exit", 544, 376, 89, 49)
$Button21 = GUICtrlCreateButton("Num Lock", 544, 160, 89, 49)
$Button22 = GUICtrlCreateButton("Insert", 544, 232, 89, 49)
$Button23 = GUICtrlCreateButton("BackSpace", 544, 16, 89, 49)
$Button24 = GUICtrlCreateButton("Enter", 368, 256, 105, 169)
$Button25 = GUICtrlCreateButton("Alt + F1", 368, 176, 73, 49)
$Button26 = GUICtrlCreateButton("Alt + F2", 456, 176, 73, 49)
$Button27 = GUICtrlCreateButton("TEUDP", 544, 304, 89, 49)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$hWnd = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button20
Exit
Case $Button1
GUISetState(@SW_HIDE, $Form1_1)
Esc()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button2
GUISetState(@SW_HIDE, $Form1_1)
F1()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button3
GUISetState(@SW_HIDE, $Form1_1)
F3()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button4
GUISetState(@SW_HIDE, $Form1_1)
F4()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button5
GUISetState(@SW_HIDE, $Form1_1)
F5()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button6
GUISetState(@SW_HIDE, $Form1_1)
F6()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button7
GUISetState(@SW_HIDE, $Form1_1)
F7()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button8
GUISetState(@SW_HIDE, $Form1_1)
F8()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button9
GUISetState(@SW_HIDE, $Form1_1)
ScrollLock()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button10
GUISetState(@SW_HIDE, $Form1_1)
F1()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button11
GUISetState(@SW_HIDE, $Form1_1)
LEFT()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button12
GUISetState(@SW_HIDE, $Form1_1)
RIGHT()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button13
GUISetState(@SW_HIDE, $Form1_1)
UP()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button14
GUISetState(@SW_HIDE, $Form1_1)
DOWN()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button15
GUISetState(@SW_HIDE, $Form1_1)
Tab()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button16
GUISetState(@SW_HIDE, $Form1_1)
AltF10()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button17
GUISetState(@SW_HIDE, $Form1_1)
Alt244()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button18
GUISetState(@SW_HIDE, $Form1_1)
Alt245()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button19
GUISetState(@SW_HIDE, $Form1_1)
Alt246()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button21
GUISetState(@SW_HIDE, $Form1_1)
NumLock()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button22
GUISetState(@SW_HIDE, $Form1_1)
Insert()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button23
GUISetState(@SW_HIDE, $Form1_1)
BackSpace()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button24
GUISetState(@SW_HIDE, $Form1_1)
Enter()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button25
GUISetState(@SW_HIDE, $Form1_1)
AltF1()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button26
GUISetState(@SW_HIDE, $Form1_1)
AltF2()
GUISetState(@SW_SHOW, $Form1_1)
Case $Button27
GUISetState(@SW_HIDE, $Form1_1)
TEUDP()
GUISetState(@SW_SHOW, $Form1_1)
EndSwitch
WEnd
Func TEUDP()
$num = InputBox("","Введите IP кассы ","")
Run("cmd")
Sleep(1000)
$hWnd = WinGetHandle('[Active]')
ControlSend("","","","C:\TEUDP.exe " & $num)
EndFunc
Func Esc()
WinActivate($hWnd)
Send("{Esc}")
EndFunc
Func F1()
WinActivate($hWnd)
Send("{F1}")
EndFunc
Func F2()
WinActivate($hWnd)
Send("{F2}")
EndFunc
Func F3()
WinActivate($hWnd)
Send("{F3}")
EndFunc
Func F4()
WinActivate($hWnd)
Send("{F4}")
EndFunc
Func F5()
WinActivate($hWnd)
Send("{F5}")
EndFunc
Func F6()
WinActivate($hWnd)
Send("{F6}")
EndFunc
Func F7()
WinActivate($hWnd)
Send("{F7}")
EndFunc
Func F8()
WinActivate($hWnd)
Send("{F8}")
EndFunc
Func ScrollLock()
WinActivate($hWnd)
Send("{ScrollLock toggle}")
EndFunc
Func Tab()
WinActivate($hWnd)
Send("{Tab}")
EndFunc
Func NumLock()
WinActivate($hWnd)
Send("{NumLock}")
EndFunc
Func Insert()
WinActivate($hWnd)
Send("{Insert}")
EndFunc
Func BackSpace()
WinActivate($hWnd)
Send("{BackSpace}")
EndFunc
Func Enter()
WinActivate($hWnd)
Send("{Enter}")
EndFunc
Func AltF10()
WinActivate($hWnd)
Send("{ALT down}")
Send("{F10}")
Send("{ALT up}")
EndFunc
Func Alt244()
WinActivate($hWnd)
Send("{Ї}")
EndFunc
Func Alt245()
WinActivate($hWnd)
Send("{ї}")
EndFunc
Func Alt246()
WinActivate($hWnd)
Send("{Ў}")
EndFunc
Func AltF1()
WinActivate($hWnd)
Send("{ALT down}")
Send("{F1}")
Send("{ALT up}")
EndFunc
Func AltF2()
WinActivate($hWnd)
Send("{ALT down}")
Send("{F2}")
Send("{ALT up}")
EndFunc
Func LEFT()
WinActivate($hWnd)
Send("{LEFT}")
EndFunc
Func RIGHT()
WinActivate($hWnd)
Send("{RIGHT}")
EndFunc
Func UP()
WinActivate($hWnd)
Send("{UP}")
EndFunc
Func DOWN()
WinActivate($hWnd)
Send("{DOWN}")
EndFunc
Касса воспринимает нажатие Scroll Lock как команду переключения клавиатуры, нажал Scroll Lock - касса слушает мою клаву, второе нажатие Scroll Lock - переключается на свою (родную) клаву.
с помощью
Код:
Send("{ScrollLock toggle}")
этого не происходит.
Пробовал и
Код:
Send("{ScrollLock On}")
Send("{ScrollLock Off}")
Тоже не работает. Не понимаю, что не так делаю.