使用命令行参数启动文件而不知道exe的位置?

Ric*_*gan 5 .net c# vb.net

这是情况:我正在尝试启动一个应用程序,但我不知道.exe的位置.现在,如果文件扩展名已注册(在Windows中),我可以执行以下操作:

Process.Start("Sample.xls");
Run Code Online (Sandbox Code Playgroud)

但是,我还需要传递一些命令行参数.我无法让这个工作

   Process p = new Process();
   p.StartInfo.FileName = "Sample.xls";
   p.StartInfo.Arguments = "/r";  // open in read-only mode
   p.Start();
Run Code Online (Sandbox Code Playgroud)

关于解决这个问题的机制的任何建议?

编辑 @ aku

我的StackOverflow搜索技能很弱; 我没找到那个帖子.虽然我一般不喜欢窥探注册表,但这是一个很好的解决方案.谢谢!

aku*_*aku 4

使用答案中的我的代码,您可以获得与 xls 扩展名相关的命令。然后您可以将此命令传递给Process.Start方法。