WMP SDK을 사용하여 Windows Media Player를 제어하고 있습니다. 먼저 Windows Media Player 플러그인 마법사를 사용하여 새 프로젝트를 만든 다음 명명 된 파이프를 사용하여 응용 프로그램과 통신하는 코드를 추가했습니다. 내 응용 프로그램이 음소거 할 음악을해야하는 경우, 예를 들어, 그것은 WMP 플러그인에 메시지를 보내 다음 플러그인은 음악을 음소거 :WMP SDK를 사용하여 명령을 보낼 때 Windows Media Player UI가 업데이트되지 않습니다.
CComPtr<IWMPSettings> settings;
if (SUCCEEDED(core_->get_settings(&settings)))
{
settings->put_mute(VARIANT_TRUE);
}
그것은 작동하고, 내가 명령을 보낼 때, 그들은 실행 얻을 있지만, UI가 업데이트되지 않습니다. 예를 들어 음소거 명령을 보내면 음악이 음소거 상태가되고 소리가 들리지 않습니다. 음소거 버튼은 음악이 음소거 상태가 아닌 것처럼 계속 표시됩니다. 이를 증명하기 위해이 시점에서 스킨을 변경하거나 다른 노래로 건너 뛸 수 있으며 UI가 업데이트되고 음소거 상태가 올바르게 표시됩니다. 이 버튼을 클릭하면 음소거가 해제 된 다음 음소거 해제 상태 (올바른 상태가 됨)가 다시 표시됩니다.
그래서 UI를 새로 고칠 수있는 방법이 있습니까? 예를 들어 다른 해결 방법이 있습니까?
여기에 C# 및 C++ 코드가 병합 된 것처럼 보입니다. 또한,'new WindowInteropHelper (this) .Handle'이 WMP 창 핸들로 해석되는 방식을 이해하지 못합니다. – kolufild