次の方法で共有


IAgentCharacterEx::GetActive

[Microsoft Agent は Windows 7 の時点で非推奨となり、後続のバージョンの Windows では使用できない可能性があります。]

HRESULT GetActive(
   short * psState  // address of active state setting
);

クライアント アプリケーションがキャラクターのアクティブなクライアントかどうか、およびキャラクターが一番上にあるかどうかを取得します。

  • 操作が成功したことを示す S_OK を返します。

psState

状態設定に対して次のいずれかの値を受け取る変数のアドレス。

説明
const unsigned short ACTIVATE_NOTACTIVE = 0;
クライアントがキャラクターのアクティブなクライアントではありません。
const unsigned short ACTIVATE_ACTIVE = 1;
クライアントがキャラクターのアクティブなクライアントです。
const unsigned short ACTIVATE_INPUTACTIVE = 2;
クライアントが入力アクティブ (最上位キャラクターのアクティブなクライアント) です。

この設定を使用すると、ユーザーがキャラクターのアクティブなクライアントかどうか、またはキャラクターが入力アクティブ キャラクターであるかどうかがわかります。 複数のクライアント アプリケーションで同じキャラクターを共有している場合、キャラクターのアクティブなクライアントはマウス入力を受け取ります (たとえば、Microsoft Agent コントロールのクリック イベントまたはドラッグ イベント)。 同様に、複数のキャラクターが表示されると、最上位キャラクター (入力アクティブ クライアントとも呼ばれます) のアクティブなクライアントは IAgentNotifySink::Command イベントを受け取ります。

Activateメソッドを使用して、アプリケーションがキャラクターのアクティブなクライアントかどうかを設定するか、アプリケーションを入力アクティブ クライアントにするか (キャラクターの最上位にもなります) を設定します。

参照

IAgentCharacter::ActivateIAgentNotifySinkEx::ActiveClientChange