[Microsoft 에이전트는 Windows 7을 기준으로 사용되지 않으며 이후 버전의 Windows에서는 사용할 수 없습니다.]
여러 클라이언트 애플리케이션이 동일한 문자를 공유할 수 있고 여러 클라이언트가 동시에 다른 문자를 사용할 수 있기 때문에 서버는 하나의 클라이언트를 입력 활성 클라이언트로 지정하고 해당 클라이언트 애플리케이션에만 마우스와 음성 입력을 보냅니다. 이렇게 하면 적절한 클라이언트가 입력에 응답할 수 있도록 사용자 입력을 순서대로 관리합니다.
일반적으로 사용자 상호 작용은 입력-활성이 되는 클라이언트 애플리케이션을 결정합니다. 예를 들어 사용자가 문자를 클릭하면 해당 문자의 클라이언트 애플리케이션이 입력 활성이 됩니다. 마찬가지로 사용자가 문자의 이름을 말하면 입력 활성이 됩니다. 또한 서버에서 문자의 show 메서드를 처리하면 해당 문자의 클라이언트가 입력 활성 상태가 됩니다.
문자를 숨기면 해당 문자의 클라이언트가 더 이상 해당 문자에 대해 입력 활성이 되지 않습니다. 서버는 나머지 문자의 활성 클라이언트를 자동으로 입력-활성으로 만듭니다. 모든 문자가 숨겨지면 입력 활성 클라이언트가 없습니다. 그러나 이 경우 사용자가 수신 대기 바로 가기 키를 누르면 에이전트는 해당 명령을 계속 수신 대기합니다(마지막 입력-활성 클라이언트의 맨 위 문자와 일치하는 음성 인식 엔진 사용).
여러 클라이언트가 동일한 문자를 공유하는 경우 서버는 활성 클라이언트 입력-활성 클라이언트로 지정합니다. 활성 문자는 클라이언트 순서에서 맨 위에 있습니다. Activate 메서드를 사용하여 클라이언트를 활성 또는 비활성 클라이언트로 설정할 수 있습니다. Activate 메서드를 사용하여 클라이언트 입력을 명시적으로 활성화할 수도 있습니다. 하지만 문자의 다른 클라이언트가 중단되지 않도록 하려면 클라이언트 애플리케이션이 활성화된 경우에만 이 작업을 수행해야 합니다. 예를 들어 사용자가 애플리케이션의 창을 클릭하여 애플리케이션을 활성화하는 경우 Activate 메서드를 호출하여 문자로 전달된 마우스 및 음성 입력을 수신하고 처리할 수 있습니다.