1 (изменено: Indomito, 2013-10-30 10:51:36)

Тема: AHK: AHK для чайников! (уточнение)

teadrinker
В  теме  AHK для чайников! требуется уточнение, как мне кажется,  надо добавить не только vk-code, но sc-code.
Скрипт определения vk-code и sc-code для всех версий - ANSI, U-32 и U-64

+ открыть спойлер
;==========SC и VK коды клавиш==============
^+ESC::
If fScVkCode:= !fScVkCode

lScVkCode:
  if (fScVkCode)
      {
        ToolTip        
        DllCall("UnhookWindowsHookEx", Ptr, hHookKeybd)
        fScVkCode:=false
      }
    else
      {
        hHookKeybd := DllCall("SetWindowsHookEx"
          , Int, WH_KEYBOARD_LL := 13
          , Ptr, RegisterCallback("LowLevelKeyboardProc", "Fast")
          , Ptr, DllCall("GetModuleHandle", UInt, 0, "Ptr")
          , UInt, 0, "Ptr")
        fScVkCode:=true
      }
  Return
 
  LowLevelKeyboardProc(nCode, wParam, lParam)
    {
      Critical
      SetFormat, Integer, H
      ToolTip, % wParam . "| vkCode: " . NumGet(lParam+0, 0, "UInt") . " scCode: " . NumGet(lParam+0, 4, "UInt")
                        . " Extended: " . NumGet(lParam+0, 8, "UInt") & 1 . " Time: " . NumGet(lParam+0, 12, "UInt")
      Return DllCall("CallNextHookEx", Ptr, 0, Int, nCode, Ptr, wParam, Ptr, lParam)
    }
return 
;==============================
"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro