过程启动(“IExplore.exe”;http://google.com";)未在VM上启动.适用于服务器和本

本文关键字:启动 VM 未在 quot 服务器 适用于 google IExplore exe 过程 http | 更新日期: 2023-09-27 18:00:15

如标题中所示

Process.Start("IExplore.exe", "http://google.com") 

不会在我正在使用的虚拟机上启动IE。然而,在服务器真实机器和本地机器上执行时,它会正确启动。

尝试了以下操作:

Process.Start("IEXPLORE.EXE", "-nomerge http://google.com/");

如后处理中所建议的。Start("IEXPLORE.EXE")在启动后立即触发Exited事件。。为什么?

try
 {
     Process.Start("http://google.com");
 }
catch (System.ComponentModel.Win32Exception)
 {
     Process.Start("IExplore.exe", "http://google.com");
 }

ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");

任何建议都非常感谢

过程启动(“IExplore.exe”;http://google.com";)未在VM上启动.适用于服务器和本

您在虚拟机上安装了IE,对吗:D?无论如何,尝试以管理员身份运行该应用程序,可能是因为虚拟机上的UAC设置"错误"。

试试这个。。。

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

它将使用您的默认浏览器启动网站。假设那是Internet Explorer,你就可以去了。

如果您想实现IE自动化,这里有一个精简的类,您可能会发现它很有用。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
using SHDocVw;
using mshtml;
public class InternetExplorerInstance
{
   public InternetExplorer Instance;
   public static InternetExplorerInstance GetCurrentInternetExplorerInstance()
   {
      InternetExplorer currentInternetExplorer = CurrentInternetExplorer();
      if ( currentInternetExplorer != null )
      {
         return new InternetExplorerInstance( currentInternetExplorer );
      }
      return null;
   }
   private InternetExplorerInstance( InternetExplorer ie )
   {
      Instance = ie;
   }
   public static void Iterate()
   {
      GetInternetExplorers();
   }
   private static IEnumerable<InternetExplorer> GetInternetExplorers()
   {
      ShellWindows shellWindows = new ShellWindowsClass();
      List<InternetExplorer> allExplorers = shellWindows.Cast<InternetExplorer>().ToList();
      IEnumerable<InternetExplorer> internetExplorers = allExplorers.Where( ie => Path.GetFileNameWithoutExtension( ie.FullName ).ToLower() == "iexplore" );
      return internetExplorers;
   }
   public static void LaunchNewPage( string url )
   {
      InternetExplorer internetExplorer = GetInternetExplorers().FirstOrDefault();
      if ( internetExplorer != null )
      {
         internetExplorer.Navigate2( url, 0x800 );
         WindowsApi.BringWindowToFront( (IntPtr) internetExplorer.HWND );
      }
      else
      {
         internetExplorer = new InternetExplorer();
         internetExplorer.Visible = true;
         internetExplorer.Navigate2( url );
         WindowsApi.BringWindowToFront((IntPtr) internetExplorer.HWND);
      }
   }
}

并不是所有的代码都包含在内,但它应该足以作为一个开始。