我正在使用以下代码从uwp应用程序启动PowerPoint文件:
Windows.System.Launcher.LaunchFileAsync("MyPath\powerpointFile.ppt");
这绝对可以。
我现在想为此方法提供一些命令行参数,但是看着documentation,我看不到命令行参数的任何提及。
是否可以在uwp应用程序中使用Launcher
打开文件并向其传递命令行参数
我的桌面应用程序当前打开powerpoint文件,如下所示:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "POWERPNT.exe";
startInfo.Arguments = "/S " + "\"" + fileName + "\"";
var process = Process.Start(startInfo);
答案 0 :(得分:0)
我设法通过创建自定义URI处理程序(单独的C#程序)并与uwp应用程序一起部署来解决了这个问题。
代码如下:
if (args[0].StartsWith("myProg:Open",true, CultureInfo.CurrentCulture))
{
var split = args[0].Split(';');
var argsString = split[1];
var progArgs = argsString.Split('~');
var program = progArgs[0];
List<string> commandLineArgs = new List<string>();
for (int i = 1; i < progArgs.Count(); i++)
{
commandLineArgs.Add(progArgs[i]);
}
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = program;
startInfo.Arguments = string.Join(" ", commandLineArgs);
var process = Process.Start(startInfo);
return;
}
,您可以这样称呼它:
Windows.System.Launcher.LaunchFileAsync("myprog:Open;POWERPNT.exe~/S~\"MyPath\powerpointFile.ppt\"")
更新
另一种方法是使用broadFileSystemAccess
(https://www.dotnetapp.com/?p=438)
可以使用以下链接中的信息实现:broadFileSystemAccess UWP