다음을 통해 공유


ITaskbarList3::SetOverlayIcon 메서드(shobjidl_core.h)

작업 표시줄 단추에 오버레이를 적용하여 사용자에게 애플리케이션 상태 또는 알림을 나타냅니다.

구문

HRESULT SetOverlayIcon(
  [in] HWND    hwnd,
  [in] HICON   hIcon,
  [in] LPCWSTR pszDescription
);

매개 변수

[in] hwnd

형식: HWND

연결된 작업 표시줄 단추가 오버레이를 수신하는 창의 핸들입니다. 이 핸들은 단추의 애플리케이션과 연결된 호출 프로세스에 속해야 하며 유효한 HWND 이거나 호출이 무시되어야 합니다.

[in] hIcon

형식: HICON

오버레이로 사용할 아이콘의 핸들입니다. 96dpi에서 16x16 픽셀을 측정하는 작은 아이콘이어야 합니다. 오버레이 아이콘이 작업 표시줄 단추에 이미 적용된 경우 기존 오버레이가 대체됩니다.

이 값은 NULL일 수 있습니다. NULL 값 처리 방법은 작업 표시줄 단추가 단일 창 또는 창 그룹을 나타내는지에 따라 달라집니다.

  • 작업 표시줄 단추가 단일 창을 나타내는 경우 오버레이 아이콘이 디스플레이에서 제거됩니다.
  • 작업 표시줄 단추가 창 그룹을 나타내고 이전 오버레이를 계속 사용할 수 있는 경우(현재 오버레이보다 일찍 수신되었지만 NULL 값으로 아직 해제되지 않음) 이전 오버레이가 현재 오버레이 대신 표시됩니다.

더 이상 필요하지 않을 때 hIcon 을 해제하는 것은 호출 애플리케이션의 책임입니다. 작업 표시줄이 아이콘의 자체 복사본을 만들고 사용하기 때문에 일반적으로 SetOverlayIcon 을 호출한 후에 이 작업을 수행할 수 있습니다.

[in] pszDescription

형식: LPCWSTR

접근성을 위해 오버레이로 전달되는 정보의 대체 텍스트 버전을 제공하는 문자열에 대한 포인터입니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

Windows 7 이전 버전의 Windows에서는 애플리케이션이 작업 표시줄의 알림 영역에서 아이콘을 사용하여 사용자에게 애플리케이션 상태 및 알림을 표시하는 경우가 많습니다. Windows 7 작업 표시줄을 사용하면 애플리케이션이 작업 표시줄 단추를 통해 동일한 종류의 사용자 피드백을 제공하여 더 많은 애플리케이션 정보를 한 곳에서 중앙 집중화할 수 있습니다. 이러한 오버레이는 단추의 오른쪽 아래 모서리에 표시되는 바로 가기 아이콘 또는 보안 알림에 사용되는 기존 오버레이와 유사합니다.

다음 그림에서는 맨 오른쪽 작업 표시줄 단추에 적용된 오버레이(사용자가 "사용 가능"으로 상태 나타내는 작은 녹색 사각형)를 보여 줍니다.

사용 가능한 상태 아이콘 오버레이를 나타내는 오버레이가 있는 Windows Messenger 작업 표시줄 단추의 스크린샷 은 상태 대한 컨텍스트 알림 역할을 하며, 사용자에게 해당 정보를 전달하기 위해 별도의 알림 영역 상태 아이콘의 필요성을 부정하기 위한 것입니다. 애플리케이션 디자이너는 개발 주기 중에 아이콘 오버레이 또는 알림 영역 상태 아이콘이 해당 애플리케이션에 가장 적합한 방법을 결정해야 합니다. 오버레이 아이콘은 네트워크 상태, 메신저 상태 또는 새 메일과 같은 중요하고 오랜 상태 또는 알림을 제공하기 위한 것입니다. 자주 변경해서는 안 되며 애니메이션을 사용해서는 안 됩니다.

오버레이 아이콘을 표시하려면 작업 표시줄이 기본 큰 아이콘 모드여야 합니다. 작업 표시줄 및 시작 메뉴 속성을 통해 작은 아이콘을 표시하도록 작업 표시줄을 구성한 경우 오버레이를 적용할 수 없으며 이 메서드에 대한 호출은 무시됩니다.

단일 오버레이가 개별 창 축소판 그림 대신 작업 표시줄 단추에 적용되므로 이는 창당이 아닌 그룹별 기능입니다. 오버레이 아이콘에 대한 요청은 작업 표시줄 그룹의 개별 창에서 수신할 수 있지만 큐에 대기하지는 않습니다. 마지막으로 받은 오버레이는 표시된 오버레이입니다. 수신된 마지막 오버레이가 제거되면 해당 오버레이가 여전히 활성 상태인 한 대체된 오버레이가 복원됩니다. 예를 들어 windows 1, 2 및 3은 순서대로 A, B 및 C를 오버레이합니다. 오버레이 C가 마지막으로 수신되었으므로 작업 표시줄 단추에 표시됩니다. 창 2는 NULL 값으로 SetOverlayIcon을 호출하여 오버레이 B를 제거합니다. 창 3은 오버레이 C를 제거하기 위해 동일한 작업을 수행합니다. 창 1의 오버레이 A는 여전히 활성화되어 있으므로 해당 오버레이가 작업 표시줄 단추에 표시됩니다.

Windows Explorer 예기치 않게 종료되면 Windows Explorer 복원될 때 오버레이가 복원되지 않습니다. 애플리케이션은 Windows Explorer 다시 시작되고 작업 표시줄 단추가 다시 생성되었음을 나타내는 TaskbarButtonCreated 메시지를 받을 때까지 기다렸다가 SetOverlayIcon을 다시 호출하여 오버레이를 다시 적용해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shobjidl_core.h(Shobjidl.h 포함)
라이브러리 Explorerframe.lib
DLL Explorerframe.dll

추가 정보

ITaskbarList

ITaskbarList2

ITaskbarList3

작업 표시줄 확장