WM_APPCOMMAND 메시지

예를 들어 마우스를 사용하여 애플리케이션 명령 단추를 클릭하거나 키보드에서 애플리케이션 명령 키를 입력하여 사용자가 애플리케이션 명령 이벤트를 생성했음을 창에 알립니다.

#define WM_APPCOMMAND                   0x0319

매개 변수

wParam

사용자가 단추를 클릭하거나 키를 누른 창에 대한 핸들입니다. 메시지를 수신하는 창의 자식 창일 수 있습니다. 이 메시지 처리에 대한 자세한 내용은 설명 섹션을 참조하세요.

lParam

다음 코드를 사용하여 lParam 매개 변수에 포함된 정보를 가져옵니다.

cmd  = GET_APPCOMMAND_LPARAM(lParam);

uDevice = GET_DEVICE_LPARAM(lParam);

dwKeys = GET_KEYSTATE_LPARAM(lParam);

애플리케이션 명령은 cmd이며 다음 값 중 하나일 수 있습니다.

의미
APPCOMMAND_BASS_BOOST
20
베이스 부스트를 켜거나 끕니다.
APPCOMMAND_BASS_DOWN
19
베이스를 낮춥니다.
APPCOMMAND_BASS_UP
21
베이스를 높입니다.
APPCOMMAND_BROWSER_BACKWARD
1
뒤로 이동합니다.
APPCOMMAND_BROWSER_FAVORITES
6
즐겨찾기를 엽니다.
APPCOMMAND_BROWSER_FORWARD
2
앞으로 이동합니다.
APPCOMMAND_BROWSER_HOME
7
홈으로 이동합니다.
APPCOMMAND_BROWSER_REFRESH
3
페이지를 새로 고칩니다.
APPCOMMAND_BROWSER_SEARCH
5
검색을 엽니다.
APPCOMMAND_BROWSER_STOP
4
다운로드를 중지합니다.
APPCOMMAND_CLOSE
31
창(애플리케이션 아님)을 닫습니다.
APPCOMMAND_COPY
36
선택 영역을 복사합니다.
APPCOMMAND_CORRECTION_LIST
45
음성 입력 중에 단어가 잘못 식별되면 수정 목록을 표시합니다.
APPCOMMAND_CUT
37
선택 영역을 잘라냅니다.
APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
43
받아쓰기 및 명령/제어(애플리케이션에 명령을 내리거나 메뉴에 액세스)의 두 가지 음성 입력 모드 간에 전환합니다.
APPCOMMAND_FIND
28
찾기 대화 상자를 엽니다.
APPCOMMAND_FORWARD_MAIL
40
메일 메시지를 전달합니다.
APPCOMMAND_HELP
27
도움말 대화 상자를 엽니다.
APPCOMMAND_LAUNCH_APP1
17
App1을 시작합니다.
APPCOMMAND_LAUNCH_APP2
18
App2를 시작합니다.
APPCOMMAND_LAUNCH_MAIL
15
메일을 엽니다.
APPCOMMAND_LAUNCH_MEDIA_SELECT
16
미디어 선택 모드로 이동합니다.
APPCOMMAND_MEDIA_CHANNEL_DOWN
52
TV 또는 라디오 튜너와 같은 채널 값을 줄입니다.
APPCOMMAND_MEDIA_CHANNEL_UP
51
TV 또는 라디오 튜너와 같은 채널 값을 늘립니다.
APPCOMMAND_MEDIA_FAST_FORWARD
49
스트림 재생 속도를 높입니다. 예를 들어 고정 속도를 사용하거나 일련의 증가하는 속도를 토글하는 등 다양한 방식으로 구현할 수 있습니다.
APPCOMMAND_MEDIA_NEXTTRACK
11
다음 트랙으로 이동합니다.
APPCOMMAND_MEDIA_PAUSE
47
일시 중지 권한입니다. 이미 일시 중지된 경우 추가 작업을 수행하지 않습니다. 상태가 없는 직접적인 PAUSE 명령입니다. 별도의 재생 및 일시 중지 단추가 있는 경우 애플리케이션은 이 명령과 APPCOMMAND_MEDIA_PLAY_PAUSE에 대해 조치를 취해야 합니다.
APPCOMMAND_MEDIA_PLAY
46
현재 위치에서 재생을 시작합니다. 이미 일시 중지된 경우 다시 시작합니다. 상태가 없는 직접적인 PLAY 명령입니다. 별도의 재생일시 중지 단추가 있는 경우 애플리케이션은 이 명령과 APPCOMMAND_MEDIA_PLAY_PAUSE에 대해 조치를 취해야 합니다.
APPCOMMAND_MEDIA_PLAY_PAUSE
14
재생하거나 재생을 일시 중지합니다. 별도의 재생일시 중지 단추가 있는 경우 애플리케이션은 이 명령과 APPCOMMAND_MEDIA_PLAYAPPCOMMAND_MEDIA_PAUSE에 대해 조치를 취해야 합니다.
APPCOMMAND_MEDIA_PREVIOUSTRACK
12
이전 트랙으로 이동합니다.
APPCOMMAND_MEDIA_RECORD
48
현재 스트림 녹화를 시작합니다.
APPCOMMAND_MEDIA_REWIND
50
더 빠른 속도로 스트림에서 뒤로 이동합니다. 예를 들어 고정 속도를 사용하거나 일련의 증가하는 속도를 토글하는 등 다양한 방식으로 구현할 수 있습니다.
APPCOMMAND_MEDIA_STOP
13
재생을 중지합니다.
APPCOMMAND_MIC_ON_OFF_TOGGLE
44
마이크를 토글합니다.
APPCOMMAND_MICROPHONE_VOLUME_DOWN
25
마이크 볼륨을 낮춥니다.
APPCOMMAND_MICROPHONE_VOLUME_MUTE
24
마이크를 음소거합니다.
APPCOMMAND_MICROPHONE_VOLUME_UP
26
마이크 볼륨을 높입니다.
APPCOMMAND_NEW
29
새 창을 만듭니다.
APPCOMMAND_OPEN
30
창을 엽니다.
APPCOMMAND_PASTE
38
붙여넣기
APPCOMMAND_PRINT
33
현재 문서를 인쇄합니다.
APPCOMMAND_REDO
35
마지막 작업을 다시 실행합니다.
APPCOMMAND_REPLY_TO_MAIL
39
메일 메시지에 회신합니다.
APPCOMMAND_SAVE
32
현재 문서를 저장합니다.
APPCOMMAND_SEND_MAIL
41
메일 메시지를 보냅니다.
APPCOMMAND_SPELL_CHECK
42
맞춤법 검사를 시작합니다.
APPCOMMAND_TREBLE_DOWN
22
고음을 낮춥니다.
APPCOMMAND_TREBLE_UP
23
고음을 높입니다.
APPCOMMAND_UNDO
34
마지막 작업을 실행 취소합니다.
APPCOMMAND_VOLUME_DOWN
9
볼륨을 낮춥니다.
APPCOMMAND_VOLUME_MUTE
8
볼륨을 음소거합니다.
APPCOMMAND_VOLUME_UP
10
볼륨을 높입니다.

uDevice 구성 요소는 입력 이벤트를 생성한 입력 디바이스를 나타내며 다음 값 중 하나일 수 있습니다.

의미
FAPPCOMMAND_KEY
0
사용자가 키를 눌렀습니다.
FAPPCOMMAND_MOUSE
0x8000
사용자가 마우스 단추를 클릭했습니다.
FAPPCOMMAND_OEM
0x1000
식별되지 않은 하드웨어 원본이 이벤트를 생성했습니다. 마우스 또는 키보드 이벤트일 수 있습니다.

dwKeys 구성 요소는 다양한 가상 키가 눌려져 있는지 여부를 나타내며 다음 값 중 하나 이상이 될 수 있습니다.

의미
MK_CONTROL
0x0008
CTRL 키가 눌려 있습니다.
MK_LBUTTON
0x0001
마우스 왼쪽 단추가 눌려 있습니다.
MK_MBUTTON
0x0010
마우스 가운데 단추가 눌려 있습니다.
MK_RBUTTON
0x0002
마우스 오른쪽 단추가 눌려 있습니다.
MK_SHIFT
0x0004
Shift 키가 눌려 있습니다.
MK_XBUTTON1
0x0020
첫 번째 X 단추가 눌려 있습니다.
MK_XBUTTON2
0x0040
두 번째 X 단추가 눌러져 있습니다.

반환 값

애플리케이션이 이 메시지를 처리하면 TRUE를 반환해야 합니다. 반환 값 처리에 대한 자세한 내용은 설명 섹션을 참조하세요.

설명

DefWindowProcWM_XBUTTONUP 또는 WM_NCXBUTTONUP 메시지를 처리할 때나 사용자가 애플리케이션 명령 키를 입력할 때 WM_APPCOMMAND 메시지를 생성합니다.

자식 창이 이 메시지를 처리하지 않고 대신 DefWindowProc을 호출하면 DefWindowProc는 메시지를 해당 부모 창으로 보냅니다. 최상위 창이 이 메시지를 처리하지 않고 대신 DefWindowProc를 호출하면 DefWindowProc는 후크 코드가 HSHELL_APPCOMMAND인 셸 후크를 호출합니다.

메시지가 마우스 클릭으로 생성된 경우 커서의 좌표를 가져오기 위해 애플리케이션은 GetMessagePos를 호출할 수 있습니다. 애플리케이션은 lParamFAPPCOMMAND_MOUSE가 포함되어 있는지 확인하여 메시지가 마우스에 의해 생성되었는지 여부를 테스트할 수 있습니다.

다른 Windows 메시지와 달리 애플리케이션은 이 메시지를 처리하는 경우 TRUE를 반환해야 합니다. 이렇게 하면 Windows 2000 이전의 Windows 시스템에서 이 메시지를 시뮬레이션하는 소프트웨어가 창 프로시저가 메시지를 처리했는지 또는 DefWindowProc를 호출하여 메시지를 처리했는지 여부를 확인할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Winuser.h(Windows.h 포함)

추가 정보

참조

DefWindowProc

GET_APPCOMMAND_LPARAM

GET_DEVICE_LPARAM

GET_KEYSTATE_LPARAM

ShellProc

WM_XBUTTONUP

WM_NCXBUTTONUP

개념

마우스 입력