如何以编程方式从我的 windows 10 应用程序启动相机应用程序?
How to launch camera app from my windows 10 app programmatically?
我正在开发 windows 10 应用程序。请告诉我一种从我的 windows 商店应用程序打开相机应用程序的方法。
我知道我们可以使用 LaunchUriAsync 函数打开在注册表中注册了 Uri 的不同应用程序。但问题是我不知道 Microsoft windows 默认相机应用程序的注册 URI 是什么。如果有人知道相机 URI,请与我分享。或者请告诉我一种打开 windows 没有注册 URI 的商店应用程序的方法。
使用设备背面的标准摄像头:
PhotoCamera 相机 = 新 Microsoft.Devices.PhotoCamera(CameraType.Primary);
然后你捕捉到一些事件来控制相机...
打开相机应用程序可能会因各种原因而失败,如果用户的 PC 没有可用的相机(即没有网络摄像头等),相机应用程序本身可能会抛出一条错误消息,所以我' d 强烈建议不要这样做。也就是说...
至少在 Windows 10 日,默认相机应用程序安装时使用的协议 URI 为 microsoft.windows.camera:
。 (您可以在 Control Panel\Programs\Default Programs\Set Associations
下找到已安装的协议) 编辑:请注意,事实证明此协议未在 windows 8.1 上注册,因此请记住这一点!
您可以使用 LaunchUriAsync API 调用该 URI,这应该会打开相机应用程序:
await Launcher.LaunchUriAsync(new Uri("microsoft.windows.camera:"));
正如我之前所说,这可能会因多种原因而失败,所以我不推荐这样做。如果您需要该功能,我建议您使用相机 API 并构建您自己的相机控件,因为如果运气好的话,您可能可以测试用户是否甚至可以打开相机。如果您想要一个例子,请参阅我们在 GitHub 上维护的 Camera Sample。
不确定,但从 .net 框架迁移到 .net 核心时发生了一些变化。这对我有用
var ps = new ProcessStartInfo("microsoft.windows.camera:")
{
UseShellExecute = true,
Verb = "open"
};
Process.Start(ps);
我正在开发 windows 10 应用程序。请告诉我一种从我的 windows 商店应用程序打开相机应用程序的方法。 我知道我们可以使用 LaunchUriAsync 函数打开在注册表中注册了 Uri 的不同应用程序。但问题是我不知道 Microsoft windows 默认相机应用程序的注册 URI 是什么。如果有人知道相机 URI,请与我分享。或者请告诉我一种打开 windows 没有注册 URI 的商店应用程序的方法。
使用设备背面的标准摄像头:
PhotoCamera 相机 = 新 Microsoft.Devices.PhotoCamera(CameraType.Primary);
然后你捕捉到一些事件来控制相机...
打开相机应用程序可能会因各种原因而失败,如果用户的 PC 没有可用的相机(即没有网络摄像头等),相机应用程序本身可能会抛出一条错误消息,所以我' d 强烈建议不要这样做。也就是说...
至少在 Windows 10 日,默认相机应用程序安装时使用的协议 URI 为 microsoft.windows.camera:
。 (您可以在 Control Panel\Programs\Default Programs\Set Associations
下找到已安装的协议) 编辑:请注意,事实证明此协议未在 windows 8.1 上注册,因此请记住这一点!
您可以使用 LaunchUriAsync API 调用该 URI,这应该会打开相机应用程序:
await Launcher.LaunchUriAsync(new Uri("microsoft.windows.camera:"));
正如我之前所说,这可能会因多种原因而失败,所以我不推荐这样做。如果您需要该功能,我建议您使用相机 API 并构建您自己的相机控件,因为如果运气好的话,您可能可以测试用户是否甚至可以打开相机。如果您想要一个例子,请参阅我们在 GitHub 上维护的 Camera Sample。
不确定,但从 .net 框架迁移到 .net 核心时发生了一些变化。这对我有用
var ps = new ProcessStartInfo("microsoft.windows.camera:")
{
UseShellExecute = true,
Verb = "open"
};
Process.Start(ps);