无法在桌面桥应用程序中显示共享 UI

Unable to show Share UI in desktop bridge app

在原生 UWP 应用程序中,我们可以通过调用 DataTransferManager.ShowShareUI 方法来显示共享 UI。

DataTransferManager.ShowShareUI();

在桌面桥应用程序中调用此方法引发异常:

Element not found.

This method cannot be called while the app is in the background

这是意料之中的,因为桥接应用不使用 UWP 的 UI 元素。所以我尝试使用它应该在本机 Win32 应用程序中完成的方式。

在原生 Win32 应用程序中,我们可以通过调用 DataTransferManagerHelper.ShowShareUIForWindow 方法来显示共享 UI。但是,桌面桥应用程序中的此调用(应用程序上下文中的 运行s)只会导致崩溃 explorer.exe。如果应用程序不是 运行 作为桥接应用程序而是作为本机 Win32 应用程序,则完全相同的代码也有效。

IntPtr hwnd = new WindowInteropHelper(Application.Current.MainWindow).Handle; 
DataTransferManagerHelper.ShowShareUIForWindow(hwnd);

感谢任何帮助。

更新

此问题已在版本 17024 上得到解决。我在最新的内部版本 (17101) 上成功 运行 打开共享 UI 的代码。

我已经确认这是一个错误。一旦错误修复,ShowShareUIForWindow() 将是正确的 API 来调用您的场景。

我现在已将错误分配给正确的团队。

感谢您报告问题!

更新

修复程序在 build 17024 及更高版本中可用