代码之家  ›  专栏  ›  技术社区  ›  Run CMD

process.start(“iexplore.exe”);<-这是否可靠?

  •  6
  • Run CMD  · 技术社区  · 15 年前

    process.start(“iexplore.exe”);

    这在每台机器上都能正常工作吗?如果没有,如何正确操作?

    …编辑:

    进程的问题。启动(“ http://www.example.com/ “);是指我们必须以本地HTML文件为目标,使用一些查询字符串指定要在HTML框架集中加载的页面。 因此,我们的URL如下所示:

    G:\PathToHelpFolder\index.html#search?page=1.html
    

    如果将此路径传递给process.start,将生成一个错误:“找不到文件”。这是由末尾的querystring引起的。(搜索)?页面= 1

    因此,我们必须使用filepath作为命令行参数来启动资源管理器(或者默认浏览器更好)。我们在msdn文档中找到了上述方法。(process.start(“iexplore.exe”)我们唯一的问题是这个方法是否足够可靠,可以部署到商业应用程序。Mono不是问题,只针对Windows系统。

    …编辑:我们的解决方案……

    我们的解决方案是从注册表中获取默认浏览器,并以文件名作为参数启动它。(如: Launching default browser with html from file, then jump to specific anchor )

    7 回复  |  直到 15 年前
        1
  •  3
  •   ChrisF    15 年前

    这应该适用于每台有一个名为 IExplore.exe 在一个地方 Process.Start 可以使用PATH环境变量查找。

    Process.Start documentation

    通过指定进程的文件名启动进程与在Windows“开始”菜单的“运行”对话框中键入信息类似。因此,文件名不需要表示可执行文件。它可以是扩展名与系统上安装的应用程序关联的任何文件类型。例如,如果将文本文件与编辑器(如记事本)关联,则文件名可以具有.txt扩展名;如果将.doc文件与字处理工具(如Microsoft Word)关联,则文件名可以具有.doc扩展名。同样,与“运行”对话框接受带有或不带有.exe扩展名的可执行文件名的方式相同,.exe扩展名在file name参数中是可选的。例如,可以将文件名参数设置为“notepad.exe”或“notepad”。

    如果有人已重命名或删除 EXE 或者它所在的位置不在path环境变量中,那么它将无法工作。

    但是,如果您的目标是打开一个浏览器,那么我将按照其他人的建议传递URL。

        2
  •  22
  •   Thomas    15 年前

    如果您的目标是打开浏览器转到特定页面,最好只使用页面URL:

    Process.Start("http://www.example.com/");
    

    这样,将使用用户的默认浏览器。(一方面,我会因为被迫使用IE而感到恼火。)

        3
  •  5
  •   Blank6    15 年前

    我曾经需要默认浏览器的名称(不打开),对于我构建的一个愚蠢的应用程序,我在这里找到了一个很好的教程: http://ryanfarley.com/blog/archive/2004/05/16/649.aspx

        4
  •  2
  •   Jouke van der Maas    15 年前

    你也可以在里面添加一个网址。( Process.Start(" http://somewebsite.com "); )这将始终有效并使用标准浏览器。

        5
  •  2
  •   paxdiablo    15 年前

    您可能应该直接运行一个HTML文件,这样就可以尊重用户的关联。作为一个用户,没有什么比拥有一些包迫使我在使用IE更让我恼火的了。 清晰地 设置我的首选项以使用其他浏览器。

        6
  •  0
  •   cjk    15 年前

    您可以创建一个简单的HTML文件来重定向您想要的实际链接,然后启动指向该简单URL的过程。

        7
  •  0
  •   Carl    15 年前

    试试这个:

    Process.Start("file:///g:/PathToHelpFolder/index.html#search?page=1.html");

    推荐文章