【问题标题】:Unable to show Share UI in desktop bridge app无法在桌面桥应用程序中显示共享 UI
【发布时间】:2018-02-17 05:58:28
【问题描述】:

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

DataTransferManager.ShowShareUI();

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

未找到元素。

应用在后台时无法调用此方法

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

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

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

感谢任何帮助。

更新

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

【问题讨论】:

  • 感谢您报告此 Mehrzad - 这听起来不像预期的行为。我们正在调查。
  • @StefanWickMSFT 感谢 Stefan 的回复,希望以后能得到更新。
  • 该修复程序已在公共 Windows Insider 版本中提供了几周时间。如果您有机会尝试,请让我知道您是否仍然发现任何问题。再次感谢您的报告!

标签: uwp desktop-bridge


【解决方案1】:

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

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

感谢您报告问题!

更新

修复适用于 build 17024 及更高版本

【讨论】:

  • 该修复程序已在公共 Windows Insider 版本中提供了几周时间。如果您有机会尝试这样做,如果您仍然发现任何问题,请告诉我。再次感谢您的报告!
  • 感谢您的更新和修复错误 Stefan!我想我会等到下一次官方更新,或者如果我有空闲时间来安装内部版本的话。我会在我尝试的时候告诉你。
  • 我在 build 17101 上测试了代码,它现在可以工作了!谢谢。
猜你喜欢
  • 2014-05-23
  • 2018-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多