문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자.
== 키보드 컨트롤 알트키가 눌려져 있는지 체크 == * AutoIt에서는 **특정 키(예: Ctrl, Shift, Alt 등)** 의 **눌림 상태(Down/Up)** 를 확인하는 데 다음과 같은 함수들을 사용할 수 있습니다. ---- === 방법 1=== * `IsPressed()` 함수 사용 (`_IsPressed()` from `Misc.au3`) * AutoIt 내장 UDF (`Misc.au3`) 의 `_IsPressed()` 함수를 사용하면 **Ctrl 키가 현재 눌려 있는지 확인**할 수 있습니다. ==== ▶ 예제: Ctrl 키가 눌려 있는지 확인 ==== <source lang=autoit> #include <Misc.au3> If _IsPressed("11") Then ; Ctrl = 0x11 MsgBox(0, "키 상태", "Ctrl 키가 눌려 있습니다.") Else MsgBox(0, "키 상태", "Ctrl 키가 눌려 있지 않습니다.") EndIf </source> === 주요 키 코드 목록 === <source> | 키 | Hex 코드 | | ----------- | ------ | | Ctrl (좌/우) | 11 | | Shift | 10 | | Alt | 12 | | A\~Z | 41\~5A | | 0\~9 | 30\~39 | | Left Ctrl | A2 | | Right Ctrl | A3 | | Left Shift | A0 | | Right Shift | A1 | </source> * `_IsPressed("A2")` → Left Ctrl * `_IsPressed("A3")` → Right Ctrl * `_IsPressed("11")` → Ctrl (좌/우 둘 다 포함) ---- === 방법 2 === * 실시간 키 상태 모니터링 (예: 반복 체크) <source lang=autoit> #include <Misc.au3> While 1 If _IsPressed("11") Then ToolTip("Ctrl 키가 눌림 상태입니다.", 100, 100) Else ToolTip("") ; 없앰 EndIf Sleep(100) WEnd </source> * 이 코드는 Ctrl 키가 눌려 있을 때 화면에 툴팁을 띄워줍니다. ---- === 주의사항 === * `_IsPressed()` 함수는 `user32.dll`을 사용하므로 외부 프로그램 상태와 상관없이 동작합니다. * `Misc.au3` UDF가 포함되어 있어야 합니다 (`#include <Misc.au3>`). ---- === 직접 구현 예시 (DllCall로) === <source lang=autoit> Func IsCtrlPressed() Local $VK_CTRL = 0x11 Local $aRet = DllCall("user32.dll", "short", "GetAsyncKeyState", "int", $VK_CTRL) Return BitAND($aRet[0], 0x8000) <> 0 EndFunc If IsCtrlPressed() Then MsgBox(0, "Ctrl 상태", "Ctrl 키가 눌려 있습니다.") Else MsgBox(0, "Ctrl 상태", "Ctrl 키가 눌려 있지 않습니다.") EndIf </source> ---- === 결론 요약 === <source> | 목적 | 방법 | 설명 | | --------- | --------------------------- | --------------- | | 단발성 체크 | `_IsPressed("11")` | Ctrl 키 눌림 여부 확인 | | 반복 체크 | `While` 루프 + `_IsPressed()` | 실시간 키 감지 | | DLL 직접 호출 | `GetAsyncKeyState()` | 시스템 수준 감지 | </source> --- * Shift, Alt, 기타 조합키 예제 필요 ** 예: **Ctrl+Shift 눌렸을 때만 동작하는 기능** 등. [[category:autoit]]
문서 저장 미리 보기 차이 보기 취소