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 Agent コントロールのクリックイベントやドラッグ イベント)。 同様に、複数の文字が表示されると、最上位文字 (入力アクティブ クライアントとも呼ばれます) のアクティブなクライアントは IAgentNotifySink::Command イベントを受け取ります。

文字のアクティブなクライアントが変更されると、このイベントは、その文字の ID を返し、アプリケーションが文字のアクティブなクライアントになっている場合は True 、文字のアクティブなクライアントではなくなった場合は False を 返します。

ユーザーが文字のポップアップ メニューまたは音声コマンドで別のクライアント アプリケーションのエントリを選択するか、クライアント アプリケーションがアクティブな状態を変更するか、別のクライアント アプリケーションが Microsoft エージェントへの接続を終了すると、クライアント アプリケーションはこのイベントを受け取ることがあります。 エージェントは、このイベントを直接影響を受けるクライアント アプリケーション (アクティブなクライアントになるか、アクティブなクライアントになるのを停止するアプリケーション) にのみ送信します。

Activate メソッドを使用して、アプリケーションが文字のアクティブなクライアントかどうかを設定するか、アプリケーションを入力アクティブ クライアント (文字の一番上にもなる) にすることができます。

参照

IAgentCharacter::ActivateIAgentCharacterEx::GetActiveIAgentNotifySink::ActivateInputState