[size=14pt][size=10pt]Здравствуйте, уважаемые форумчане!
Изучая данный язык, возясь с присвоениями горячих клавиш + примеры из сети, понадобилось вывести на экран нажимаемые клавиши. Есть рабочий код, но она кириллицу не выводит, в чем может быть проблема?
[/size][/size]
Изучая данный язык, возясь с присвоениями горячих клавиш + примеры из сети, понадобилось вывести на экран нажимаемые клавиши. Есть рабочий код, но она кириллицу не выводит, в чем может быть проблема?
[/size][/size]
Код:
Opt("SendKeyDelay", 0)
Global $i, $j, $k, $l, $button
#Region ADD CHARACTERS
#Region UTF-8 Letters
For $i = 0 To 65536
HotKeySet(ChrW($i), "Capt")
Next
#EndRegion UTF-8 Letters
#Region ASCII Letters
For $l = 0 To 255
HotKeySet(Chr($l), "Capt")
Next
#EndRegion ASCII Letters
#Region Function chars
For $j = 1 To 12
HotKeySet("{F" & $j & "}", "Capt")
Next
#EndRegion Function chars
#Region Numpad numbers
For $k = 0 To 9
HotKeySet("{NUMPAD" & $k & "}", "Capt")
Next
#EndRegion Numpad numbers
#Region Numpad Stuffs
HotKeySet("{NUMPADENTER}", "Capt")
HotKeySet("{NUMPADMULT}", "Capt")
HotKeySet("{NUMPADADD}", "Capt")
HotKeySet("{NUMPADSUB}", "Capt")
HotKeySet("{NUMPADDIV}", "Capt")
HotKeySet("{NUMPADDOT}", "Capt")
#EndRegion Numpad Stuffs
#Region Arrows
HotKeySet("{RIGHT}", "Capt")
HotKeySet("{DOWN}", "Capt")
HotKeySet("{LEFT}", "Capt")
HotKeySet("{UP}", "Capt")
#EndRegion Arrows
#Region Special Buttons
HotKeySet("{DELETE}", "Capt")
HotKeySet("{INSERT}", "Capt")
HotKeySet("{PGUP}", "Capt")
HotKeySet("{PGDN}", "Capt")
HotKeySet("{HOME}", "Capt")
HotKeySet("{END}", "Capt")
#EndRegion Special Buttons
#Region Others
HotKeySet("{PRINTSCREEN}", "Capt")
HotKeySet("{APPSKEY}", "Capt")
HotKeySet("{LWIN}", "Capt")
HotKeySet("{RWIN}", "Capt")
HotKeySet("{TAB}", "Capt")
#EndRegion Others
#EndRegion ADD CHARACTERS
ToolTip ($button, 0, 0, $button)
While 1
Sleep(500)
WEnd
Func Capt()
$button = @HotKeyPressed
If _GetCaps() = 1 Then
If StringInStr($button, StringUpper($button), 1) = 1 Then
$button = StringLower($button)
Else
$button = StringUpper($button)
EndIf
EndIf
If $button = "+3" Then
ToolTip ($button, 0, 0, $button)
Elseif $button = "+4" Then
ToolTip ($button, 0, 0, $button)
Else
ToolTip ($button, 0, 0, $button)
EndIf
If $button = "{ENTER}" Then ToolTip ($button, 0, 0, $button)
HotKeySet($button)
ControlSend("", "", "", $button)
HotKeySet($button, "Capt")
EndFunc
Func _GetCaps()
$ret = DllCall("user32.dll", "long", "GetKeyState", "long", 0x14)
Return $ret[0]
EndFunc