age_sage

ホットキーすり抜け対策(要管理者権限)

Apr 26th, 2020
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; ホットキーすり抜け対策、ただし高負荷時では完全には防げない
  2. ; ※BlockInputには管理者権限が必要
  3.  
  4. #NoEnv
  5. #MaxHotkeysPerInterval 400 ; Default 70
  6. #InstallKeybdHook
  7. #InstallMouseHook
  8. SetBatchLines -1 ; 10
  9.  
  10. Esc::ExitApp
  11.  
  12. ; ---------------------------------------------------------
  13. #WheelUp::Wheel("WheelUp", 5) ; Win + ホイール回転
  14. #WheelDown::Wheel("WheelDown", 5)
  15. #^WheelUp::Wheel("WheelUp", 20) ; Win + Ctrl + ホイール回転
  16. #^WheelDown::Wheel("WheelDown", 20)
  17.  
  18. ; LWin::F13
  19. ; #If GetKeyState("F13")
  20. ; WheelUp::Wheel("WheelUp", 5) ; F13 + ホイール回転
  21. ; WheelDown::Wheel("WheelDown", 5)
  22. ; ^WheelUp::Wheel("WheelUp", 20) ; F13 + Ctrl + ホイール回転
  23. ; ^WheelDown::Wheel("WheelDown", 20)
  24. ; #If
  25.  
  26. Wheel(Key, Stroke="") {
  27.     BlockInput On ; 過剰な入力を抑制
  28.     SendInput {%Key% %Stroke%}
  29.     BlockInput Off
  30.     ; Sleep 200 ; 低スペ・高負荷用
  31. }
  32.  
  33. Wheel2(Key, Stroke="") {
  34.     BlockInput Send ; Send中の過剰な入力を抑制
  35.     SendInput {%Key% %Stroke%}
  36.     BlockInput Default
  37.     ; Sleep 200 ; 低スペ・高負荷用
  38. }
  39.  
  40. ; ---------------------------------------------------------
  41. ; 一部のホットキー条件が離れるので可読性が悪くなる
  42.  
  43. ; LWin & WheelUp::Wheel3("WheelUp")
  44. ; LWin & WheelDown::Wheel3("WheelDown")
  45.  
  46. Wheel3(Key) {
  47.     BlockInput On ; 過剰な入力を抑制
  48.     if GetKeyState("Ctrl", "P")
  49.         SendInput {%Key% 20}
  50.     else
  51.         SendInput {%Key% 5}
  52.     BlockInput Off
  53.     ; Sleep 200 ; 低スペ・高負荷用
  54. }
Add Comment
Please, Sign In to add comment