我使用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,例如,或其他解决方法?
你似乎已经在这里合并C#和C++代码。另外,我不明白'new WindowInteropHelper(this).Handle'表达式是如何解析为WMP窗口句柄的。 – kolufild 2012-04-05 10:27:43