c# - 如何以编程方式从我的 Windows 10 应用程序启动相机应用程序?

标签 c# windows-store-apps microsoft-metro windows-8.1 windows-10

我正在开发一个 Windows 10 应用程序。请告诉我一种从 Windows 应用商店应用程序中打开相机应用程序的方法。 我知道我们可以使用 LaunchUriAsync 函数来打开在注册表中注册了 Uri 的不同应用程序。但问题是我不知道 Microsoft Windows 默认相机应用程序的注册 URI 是什么。如果有人知道相机 URI,请与我分享。或者请告诉我一种打开没有注册 URI 的 Windows 应用商店应用程序的方法。

最佳答案

打开相机应用程序可能会因各种原因而失败,如果用户的电脑没有可用的相机(即没有网络摄像头等),相机应用程序本身可能会抛出一条错误消息,所以我强烈建议建议不要这样做。也就是说...

至少在 Windows 10 上,默认相机应用使用 microsoft.windows.camera: 协议(protocol) URI 安装。 (您可以在控制面板\程序\默认程序\设置关联下找到已安装的协议(protocol))编辑:注意,事实证明该协议(protocol)未在 Windows 8.1 上注册,因此请记住这一点也!

您可以使用LaunchUriAsync用于调用该 URI 的 API,这应该会打开相机应用程序:

await Launcher.LaunchUriAsync(new Uri("microsoft.windows.camera:"));

正如我之前所说,这可能会因多种原因而失败,所以我不推荐这样做。如果您需要该功能,我建议您使用相机 API 并构建自己的相机控件,因为如果运气好的话,您甚至可以测试用户是否有要打开的相机。请参阅Camera Sample如果您想要相关示例,我们会在 GitHub 上维护。

关于c# - 如何以编程方式从我的 Windows 10 应用程序启动相机应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33276229/

相关文章:

c# - 如何使用 C# 可靠地确定安装了哪些 SQL Server 2008 组件?

c# - 带有文本框的两个日期之间的 SQL 查询

c# - 我无法访问 EnforceConstraints?

windows-store-apps - FileSavePicker 和已弃用的 ApplicationViewState

windows-8 - Windows 8 应用程序动态磁贴右下角有 "X"

windows-8 - Blend For Visual Studio 11 出现错误

c# - 如何检查用户是否为我的应用评分

c# - GridView 中的背景颜色

windows-runtime - 导航到其他页面后继续播放的全局 MediaElement

c# - 如何在用 c#/XAML 开发的 Windows 商店应用程序中的 SQLite 中插入 blob