정적 또는 동적 바로 가기 메뉴 메서드 선택

이 항목은 다음과 같이 구성됩니다.

동사 메서드 선택

정적 동사 메서드 중 하나를 사용하여 바로 가기 메뉴를 구현하는 것이 좋습니다.

정적 동사 메서드

정적 동사는 구현할 수 있는 가장 간단한 동사이지만 여전히 풍부한 기능을 제공합니다. 항상 요구 사항에 맞는 가장 간단한 바로 가기 메뉴 메서드를 선택합니다.

정적 동사 설명
명령줄 매개 변수를 사용하는 CreateProcess 정적 동사를 구현하는 가장 간단하고 친숙한 수단입니다. 선택한 파일과 명령줄로 전달된 선택적 매개 변수를 사용하여 CreateProcess 함수에 대한 호출을 통해 프로세스가 호출됩니다. 그러면 파일 또는 폴더가 열립니다.
이 메서드에는 다음과 같은 제한 사항이 있습니다.
  • 명령줄 길이는 동사에서 처리할 수 있는 항목 수를 제한하는 2000자로 제한됩니다.
  • 파일 시스템 항목에만 사용할 수 있습니다.
  • 이미 실행 중인 프로세스를 다시 사용할 수 없습니다.
  • 동사를 처리하기 위해 실행 파일을 설치해야 합니다.

DropTarget/Idroptarget COM 기반 동사 활성화는 in-proc 또는 out-of-proc 활성화를 지원한다는 것을 의미합니다. DropTarget/또한 IDropTarget은 로컬 서버에서 IDropTarget 인터페이스를 구현할 때 이미 실행 중인 처리기의 재사용을 지원합니다. 또한 마샬링된 데이터 개체를 통해 항목을 완벽하게 표현하고 QueryService를 통해 호출자와 상호 작용할 수 있도록 호출하는 사이트 체인에 대한 참조를 제공합니다.
Windows 7 이상: IExecuteCommand 가장 직접적인 구현 방법입니다. COM 기반 호출 메서드(예: DropTarget)이므로 이 인터페이스는 in-proc 및 out-of-proc 활성화를 지원합니다. 동사는 IExecuteCommandIObjectWithSelection을 구현하고 선택적으로 IInitializeCommand를 구현합니다. 항목은 셸 항목 배열로 직접 전달되고 호출자의 더 많은 매개 변수를 호출 지점, 키보드 상태 등을 포함하여 동사 구현에 사용할 수 있습니다.
Windows 7 이상:ExplorerCommand/ IExplorerCommand IExplorerCommandProvider를 통해 명령 모듈 명령을 제공하는 데이터 원본이 바로 가기 메뉴에서 해당 명령을 동사로 사용할 수 있도록 합니다. 이 인터페이스는 In-Process 활성화만 지원하므로 명령과 바로 가기 메뉴 간에 구현을 공유해야 하는 셸 데이터 원본에서 사용하는 것이 좋습니다.

 

참고

IExplorerCommand 는 정적 동사와 동적 동사 간의 하이브리드입니다. IExplorerCommand 는 Windows Vista에서 선언되었지만 바로 가기 메뉴에서 동사를 구현하는 기능은 Windows 7의 새로운 기능입니다.

 

파일 연결 특성에 대한 IDropTarget 및 Shell 쿼리에 대한 자세한 내용은 인식된 형식 및 애플리케이션 등록을 참조하세요.

기본 동적 동사 메서드

다음과 같은 동적 동사 메서드가 선호됩니다.

동사 형식 Description
정적 동사(이전 표에 나열됨) + AQS(고급 쿼리 구문) 이 선택은 동적 동사 표시 유형을 가져옵니다.
Windows 7 이상: IExplorerCommand 이 옵션을 선택하면 Windows Explorer 명령 모듈에 표시되는 동사 및 탐색기 명령의 일반적인 구현이 가능합니다.
Windows 7 이상: IExplorerCommandState + 정적 동사 이 선택은 동적 동사 표시 여부도 가져옵니다. 지정된 정적 동사를 잘못 처리해야 하는 경우 간단한 In-Process 처리기를 사용하여 컴퓨팅하는 하이브리드 모델입니다. 동적 동작을 달성하고 In-process 논리의 노출을 최소화하기 위해 모든 정적 동사 구현 메서드에 적용할 수 있습니다. IExplorerCommandState 는 백그라운드 스레드에서 실행하는 장점이 있으므로 UI 중단을 방지합니다. IContextMenu보다 훨씬 간단합니다.

 

권장되지 않음 동적 동사 메서드

IContextMenu 는 구현할 가장 강력하지만 가장 복잡한 메서드이기도 합니다. 일반적으로 Windows는 Explorer 항목을 호스트하는 모든 애플리케이션일 수 있는 호출자의 스레드에서 실행되는 in-process COM 개체를 기반으로 합니다. IContextMenu 는 동사 표시 유형, 순서 지정 및 사용자 지정 그리기를 지원합니다. 이러한 기능 중 일부는 명령과 연결할 아이콘 및 표시 유형을 처리하기 위한 IExplorerCommand 와 같은 정적 동사 기능에 추가되었습니다.

파일 형식에 대한 동적 동사를 등록하여 파일 형식의 바로 가기 메뉴를 확장해야 하는 경우 동적 동사를 사용하여 바로 가기 메뉴 사용자 지정에 제공된 지침을 따릅니다.

바로 가기 메뉴 확장

동사 메서드를 선택한 후에는 파일 형식에 정적 동사를 등록하여 파일 형식에 대한 바로 가기 메뉴를 확장할 수 있습니다. 자세한 내용은 상황에 맞는 메뉴 처리기 만들기를 참조하세요.

운영 체제별 동사 메서드 지원

운영 체제별 동사 호출 방법에 대한 지원은 다음 표에 나와 있습니다.

동사 메서드 Windows XP Windows Vista Windows 7 이상
CreateProcess X X X
DDE X X X
DropTarget X X X
ExecuteCommand X X
ExplorerCommand X
ExplorerCommandState X

 

바로 가기 메뉴 처리기 및 여러 선택 동사에 대한 모범 사례

바로 가기 메뉴 처리기 만들기

동적 동사를 사용하여 바로 가기 메뉴 사용자 지정

바로 가기(상황에 맞는) 메뉴 및 바로 가기 메뉴 처리기

바로 가기 메뉴 참조

동사 및 파일 연결