从metro应用程序启动Win Forms应用程序(使用java脚本和html)



我想从metro风格的应用程序启动Win-Form应用程序。我试过Launcher.LaunchFileAsync(IStorageFile) | launchFileAsync(IStorageFile) API但该文档表示,由于metro应用程序在沙盒环境中运行,许多包含可执行代码的文件类型,例如.exe、.msi和.js文件,都被阻止启动。

我还尝试了Launcher.LaunchUriAsync(Uri, LauncherOptions) | launchUriAsync(Uri, LauncherOptions)方法,其中需要传递一个URI和启动应用程序的选项。但是,应用程序不能使用file:///协议访问本地计算机上的文件。

有没有一种方法可以从我的metro风格的应用程序中创建并启动一个批处理(.bat)文件,这样它就会以某种方式执行其中的命令,并启动带有一些选项的启动app.exe?如有任何帮助,我们将不胜感激:)

Metro/WinRT/UWP应用程序无法直接启动另一个应用程序。它只能执行以下操作之一:

  1. 要求操作系统通过系统中注册的某些应用程序打开特定的文件扩展名。它不是关于.exe文件,而是在应用程序之间传递文档。例如,您可以在操作系统中注册WinForms应用程序以打开.xyz文件。然后使用LaunchFileAsync API从WinRT应用程序打开此类文件。系统将启动已注册的默认应用程序以打开此类文件
  2. 要求操作系统通过系统中注册的某个应用程序对特定协议做出反应。它不是关于file:///协议,而是关于其他协议,以实现应用程序到应用程序的通信和委派操作。例如,您可以在操作系统中注册WinForms应用程序,以对myapp xyz:协议做出反应。然后,您可以使用LaunchUriAsync API要求操作系统启动一些可以处理此类协议的应用程序。系统将启动为支持该协议而注册的默认应用程序

相关内容

最新更新