Share via


IAgentNotifySinkEx::ActiveClientChange

[Microsoft 에이전트는 Windows 7을 기준으로 더 이상 사용되지 않으며 이후 버전의 Windows에서는 사용할 수 없습니다.]

HRESULT ActiveClientChange(
...long dwCharID,  // character ID
   long lStatus    // active state flag
);

활성 클라이언트가 더 이상 문자의 활성 클라이언트가 아닌 경우 클라이언트 애플리케이션에 알 수 있습니다.

  • 반환 값이 없습니다.

dwCharID

활성 클라이언트 상태 변경된 문자의 식별자입니다.

lStatus

클라이언트의 활성 상태 변경으로, 다음 값의 조합일 수 있습니다.

설명
const unsigned shortACTIVATE_NOTACTIVE = 0;
클라이언트가 문자의 활성 클라이언트가 아닙니다.
const unsigned shortACTIVATE_ACTIVE = 1;
클라이언트가 문자의 활성 클라이언트입니다.
const unsigned shortACTIVATE_INPUTACTIVE = 2;
클라이언트가 입력 활성(최상위 문자의 활성 클라이언트)입니다.

여러 클라이언트 애플리케이션이 동일한 문자를 공유하는 경우 문자의 활성 클라이언트는 마우스 입력(예: Microsoft 에이전트 컨트롤 클릭 또는 끌기 이벤트)을 받습니다. 마찬가지로 여러 문자가 표시되면 최상위 문자(input-active 클라이언트라고도 함)의 활성 클라이언트는 IAgentNotifySink::Command 이벤트를 받습니다.

문자의 활성 클라이언트가 변경되면 이 이벤트는 해당 문자의 ID를 다시 전달하고, 애플리케이션이 문자의 활성 클라이언트가 되었으면 True , 더 이상 문자의 활성 클라이언트가 아니면 False 를 전달합니다.

클라이언트 애플리케이션은 사용자가 문자의 팝업 메뉴 또는 음성 명령에서 다른 클라이언트 애플리케이션의 항목을 선택하거나, 클라이언트 애플리케이션이 활성 상태 변경하거나, 다른 클라이언트 애플리케이션이 Microsoft 에이전트에 대한 연결을 종료할 때 이 이벤트를 수신할 수 있습니다. 에이전트는 활성 클라이언트가 되거나 활성 클라이언트가 되는 것을 중지하는 직접 영향을 받는 클라이언트 애플리케이션에만 이 이벤트를 보냅니다.

Activate 메서드를 사용하여 애플리케이션이 문자의 활성 클라이언트인지 여부를 설정하거나 애플리케이션을 입력-활성 클라이언트로 만들 수 있습니다(문자가 맨 위로 표시됨).

참고 항목

IAgentCharacter::Activate, IAgentCharacterEx::GetActive, IAgentNotifySink::ActivateInputState