CMINVOKECOMMANDINFO 구조체(shobjidl_core.h)

IContextMenu::InvokeCommand에서 바로 가기 메뉴 명령을 호출하는 데 필요한 정보를 포함합니다.

구문

typedef struct _CMINVOKECOMMANDINFO {
  DWORD  cbSize;
  DWORD  fMask;
  HWND   hwnd;
  LPCSTR lpVerb;
  LPCSTR lpParameters;
  LPCSTR lpDirectory;
  int    nShow;
  DWORD  dwHotKey;
  HANDLE hIcon;
} CMINVOKECOMMANDINFO;

멤버

cbSize

형식:DWORD

이 구조체의 크기(바이트)입니다.

fMask

형식:DWORD

0 또는 다음 플래그 중 하나 이상.

CMIC_MASK_HOTKEY

dwHotKey 멤버가 유효합니다.

CMIC_MASK_ICON

hIcon 멤버가 유효합니다. Windows Vista를 기준으로 이 플래그는 사용되지 않습니다.

CMIC_MASK_FLAG_NO_UI

명령을 수행하는 동안 시스템에서 사용자 인터페이스 요소(예: 오류 메시지)를 표시할 수 없습니다.

CMIC_MASK_NO_CONSOLE

바로 가기 메뉴 처리기가 새 프로세스를 만들어야 하는 경우 일반적으로 새 콘솔을 만듭니다. CMIC_MASK_NO_CONSOLE 플래그를 설정하면 새 콘솔 만들기가 표시되지 않습니다.

CMIC_MASK_FLAG_SEP_VDM

이 플래그는 16비트 Windows 기반 애플리케이션을 참조하는 경우에만 유효합니다. 설정된 경우 바로 가기가 가리키는 애플리케이션이 프라이빗 VDM(Virtual DOS Machine)에서 실행됩니다. 설명 부분을 참조하세요.

CMIC_MASK_ASYNCOK

반환하기 전에 DDE 대화가 종료되기를 기다립니다.

CMIC_MASK_NOASYNC

Windows Vista 이상. IContextMenu::InvokeCommand의 구현은 완료되기 전에 반환되지 않고 동기적이어야 합니다. 권장되므로 이 플래그를 지정하는 애플리케이션을 호출해도 호출하는 동사의 구현에 익숙하지 않은 경우 이 요청이 적용되도록 보장할 수 없습니다.

CMIC_MASK_SHIFT_DOWN

SHIFT 키를 누릅니다. 동사가 호출된 이후 변경되었을 수 있는 키보드의 현재 상태를 폴링하는 대신 사용합니다.

CMIC_MASK_CONTROL_DOWN

Ctrl 키를 누릅니다. 동사가 호출된 이후 변경되었을 수 있는 키보드의 현재 상태를 폴링하는 대신 사용합니다.

CMIC_MASK_FLAG_LOG_USAGE

IContextMenu::InvokeCommand의 구현이 "최근 문서" 메뉴와 같은 기능에 대해 호출되는 항목을 추적하려고 할 수 있음을 나타냅니다.

CMIC_MASK_NOZONECHECKS

영역 검사 수행하지 마세요. 이 플래그를 사용하면 ShellExecuteExIAttachmentExecute에 의해 배치된 영역 검사를 우회할 수 있습니다.

hwnd

형식: HWND

바로 가기 메뉴의 소유자인 창에 대한 핸들입니다. 확장은 이 핸들을 표시되는 메시지 상자 또는 대화 상자의 소유자로 사용할 수도 있습니다.

lpVerb

형식: LPCSTR

수행할 명령의 언어 독립적 이름을 지정하는 null로 끝나는 문자열의 주소입니다. 이 멤버는 일반적으로 애플리케이션에서 명령을 활성화할 때 문자열입니다. 시스템은 다음 명령 문자열에 대해 미리 정의된 상수 값을 제공합니다.

상수 명령 문자열
CMDSTR_RUNAS "RunAs"
CMDSTR_PRINT "인쇄"
CMDSTR_PREVIEW "미리 보기"
CMDSTR_OPEN "열기"
 

고정 집합이 아닙니다. 새 정식 동사는 상황에 맞는 메뉴 처리기에서 발명할 수 있으며 애플리케이션은 이를 호출할 수 있습니다.

정식 동사가 있고 메뉴 처리기가 정식 동사를 구현하지 않는 경우 다음 처리기가 이 동사를 처리할 수 있도록 오류 코드를 반환해야 합니다. 이렇게 하지 않으면 ShellExecute를 비롯한 시스템의 기능이 중단됩니다.

또는 포인터 대신 이 매개 변수는 MAKEINTRESOURCE(오프셋)일 수 있습니다. 여기서 오프셋 은 수행할 명령의 메뉴 식별자 오프셋입니다. 구현에서는 IS_INTRESOURCE 매크로를 사용하여 이 대안이 사용되고 있음을 감지할 수 있습니다. 셸은 사용자가 메뉴 명령을 선택할 때 이 대안을 사용합니다.

lpParameters

형식: LPCSTR

명령에 전달되는 매개 변수를 포함하는 선택적 문자열입니다. 이 문자열의 형식은 호출할 명령에 의해 결정됩니다. 이 멤버는 셸 확장에 의해 삽입된 메뉴 항목에 대해 항상 NULL 입니다.

lpDirectory

형식: LPCSTR

선택적 작업 디렉터리 이름입니다. 이 멤버는 셸 확장에 의해 삽입된 메뉴 항목에 대해 항상 NULL 입니다.

nShow

형식: int

명령이 창을 표시하거나 애플리케이션을 시작하는 경우 ShowWindow 함수에 전달할 SW_ 값 집합입니다.

dwHotKey

형식:DWORD

명령에 의해 활성화된 모든 애플리케이션에 할당할 선택적 바로 가기 키입니다. fMask 매개 변수가 CMIC_MASK_HOTKEY 지정하지 않으면 이 멤버는 무시됩니다.

hIcon

형식: HANDLE

명령에 의해 활성화된 모든 애플리케이션에 사용할 아이콘입니다. fMask 멤버가 CMIC_MASK_ICON 지정하지 않으면 이 멤버는 무시됩니다.

설명

IContextMenu::InvokeCommand 선언은 pici 매개 변수에 대한 CMINVOKECOMMANDINFO 구조를 지정하지만 CMINVOKECOMMANDINFOEX 구조체를 수락할 수도 있습니다. 이 메서드를 구현하는 경우 cbSize 를 검사하여 전달된 구조를 확인해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 shobjidl_core.h(Shobjidl.h 포함)