有没有办法在WPF中创建SystemMediaTransportControls-object?
我遵循this指南从我的WPF应用程序访问Windows 10 API。我可以调用类,但不能创建对象。在UWP-App中,您可以像这样创建它:
SystemMediaTransportControls smtp = SystemMediaTransportControls.GetForCurrentView();
但是通过在WPF中调用这个方法,我在这一行得到了一个"Invalid window handle"
异常。
public partial class MainWindow : Window
{
SystemMediaTransportControls smtp;
public MainWindow()
{
InitializeComponent();
//SMTP Einrichten
smtp = SystemMediaTransportControls.GetForCurrentView();
}
[...]
}
显然,GetForCurrentView()
在WPF中不起作用,但应该使用什么?
2条答案
按热度按时间z9smfwbn1#
您应该安装Microsoft.Windows.SDK.Contracts NuGet包。然后,您将能够与WPF项目中的系统媒体传输控件进行交互。
下面是一个打印一些媒体信息,然后尝试暂停媒体的示例:
jvidinwx2#
桌面应用程序不支持SystemMediaTransportControls。它只能在UWP应用程序中使用。
参见UWP APIs callable from a classic desktop app,它说:
如果DualApiPartition属性未列出
在这种情况下,不允许从经典桌面应用调用API。按钮就是一个例子。
SystemMediaTransportControls没有DualApiPartition属性。