【问题标题】:Launch a file with command line arguments without knowing location of exe?在不知道 exe 位置的情况下使用命令行参数启动文件?
【发布时间】:2008-08-30 12:10:50
【问题描述】:

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

Process.Start("Sample.xls");

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

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

对解决这个问题的机制有什么建议吗?

编辑@aku

我的 StackOverflow 搜索能力很弱;我没有找到那个帖子。虽然我通常不喜欢查看注册表,但这是一个很好的解决方案。谢谢!

【问题讨论】:

    标签: c# .net vb.net


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      如果您查询注册表,您可以检索有关已注册文件类型的数据,然后通过命令行参数直接调用应用程序。请参阅Programmatically Checking and Setting File Types 获取获取文件类型的 shell 信息的示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-22
        • 1970-01-01
        • 1970-01-01
        • 2022-01-22
        • 2015-07-08
        相关资源
        最近更新 更多