LightWeight HotKey 는 윈도우용 단축키 프로그램입니다.

AutoHotKey 보다는 단순한 기능만을 제공하지만, GUI를 통해 간단하게 설정할 수 있습니다.

App 제작 동기

AutoHotKey 를 사용하여 여러가지 단축키를 등록하여 사용하였으나, 새 단축키 등록이나 기능 변경시 매번 스크립트를 작성해야하는 번거로움이 있어서 제작하게 되었습니다.

스크립트 작성 후 Ahk2Exe 를 이용하여 Binary로 제작 후에는, Anti-Virus 프로그램에서 오탐을 하는 경우도 있었습니다.

지원 기능

  • 창 활성화
    • 창 찾기 조건: WindowTitle, ClassName, ProcessName 지원
    • 찾기 조건: 문자열 및 Regular Expression 지원
      • 창 찾기 툴은 WinSpy 를 권장합니다.
  • 앱 실행 (무결성 수준 선택 가능: 현재 상속, 높은 권한, 보통, 낮음)
  • 창 크기 변경 및 이동
  • 마우스 이동 (대상 창 기준으로 가능)
  • 키보드 마우스 입력
  • 텍스트 입력 (클립보드 사용, 장문 가능)
  • ChainRule 지원(다른 규칙을 연결해서 사용 가능)

AutoHotKey와의 장단점 비교

  LightWeight HotKey AutoHotKey
설정 난이도 보통 어려움 (스크립트 작성)
다양한 기능 지원 X (일부 단축키 기능만 지원) O
GUI O X
정규표현식 지원 O O
실행 대상 Integrity Level 지정 O X
Anti-Virus 탐지 X (안전) O
윈도우 시작 시 스케쥴 등록 O X
구동 방식 Hook Hook
DLL Injection X X

Demo

  • 아래 영상은 Ctrl + A + E 를 누르면, 메모장이 활성화 되는 기능입니다.

  • 아래 영상은 Win + F1 을 누르면, 같은 프로세스의 다른 창이 활성화 되는 기능입니다.

요구 사양

  • Windows 10, 11
  • 64bit (AMD64)
  • Visual C++ Runtime (2015-2022)

기반 기술

  • Windows Hook

알려진 문제

  • (Hook API 를 사용하기 때문에) Anti-Virus 에서 자신들의 DLL 을 Injection 하여 감시하는 경우가 다수 있고, 성능 저하가 발생할 수 있습니다.
    • LightWeight HotKey 는 Windows 가 제공하는 Hook Callback에서 (사용자가 입력한 Rule 체크 등의) 단순한 작업만을 진행하기 때문에, 시스템 성능을 저하시킬 이유가 없습니다.
    • 확인된 Anti-Virus 제품
      • ESET
      • COMODO
      *특히 Enterprise용 Anti-Virus 제품에서 의미 없는 강력한 검사를 수행하기 때문에, 다수의 파일을 읽거나, 생성하는 랜섬웨어같은 동작을 하는 Visual Studio, Intellij 등의 IDE 및 Compiler 제품이 느려지는 것과 유사한 케이스라고 볼 수 있습니다.

설치 방법

  1. 다운로드 한 파일의 압축 해제
  2. LWHK.exe 실행
  3. (원하는) 규칙 입력
  4. 윈도우 시작시 자동으로 실행되기를 원하는 경우
    1. Options 진입
    2. Install 실행

문제 해결

  • HighIntegrity Level 의 앱에서 동작하지 않는 경우
    1. (관리자 권한으로) LWHK.exe 실행
  • 앱이 느려지거나, (처음 사용시 보다)윈도우에서 성능이 저하되는 경우
    • 앱을 재시작하여 Anti-Virus 가 주입한 DLL 을 초기화 합니다.
      • Anti-Virus 가 다시 DLL을 주입하기 때문에, 시간이 경과되면 또 느려질 수 있습니다.
    • 또는, Anti-Virus 에서 Shell Code Injection 등의 감시에서 LWHK.exe 프로세스를 제외합니다.
  • 삭제
    1. Options 진입
    2. Uninstall 실행