我正在尝试启动为指定附加参数的扩展注册的默认应用程序:
ProcessStartInfo p = new ProcessStartInfo();
p.Arguments = "myargument";
p.FileName = "file.ext";
Process.Start(p);
应用程序开始正确打开指定的文件。
问题是它只获取一个参数(文件名),完全忽略附加的“参数”。
可以做我想做的事吗?
难道我做错了什么?
预先感谢您的任何帮助,
Paolo
我相信这是预料之中的。在幕后,Windows 会在注册表中查找默认应用程序并创建一个新进程并将您的文件名传递给它。如果我转到命令提示符并输入“filename.ext argument”,我会得到相同的行为,我的参数不会传递到应用程序。
您可能需要做的是通过查看注册表自行找到默认应用程序。然后您可以使用参数启动该过程,而不是尝试通过文件类型关联启动。这里有一个关于如何在注册表中查找默认应用程序的答案:
查找在 Windows 上打开特定文件类型的默认应用程序
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)