如标题上方
Process.Start("IExplore.exe", "http://google.com")
不在我正在使用的VM上启动IE。但是,在服务器真实机器和本地计算机上执行它会正确启动。
尝试以下方法:
Process.Start("IEXPLORE.EXE", "-nomerge http://google.com/");
正如帖子Process.Start("IEXPLORE.EXE") immediately fires the Exited event after launch.. why?
中所建议的那样和
try
{
Process.Start("http://google.com");
}
catch (System.ComponentModel.Win32Exception)
{
Process.Start("IExplore.exe", "http://google.com");
}
和
ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
任何建议都非常感谢
答案 0 :(得分:0)
你在VM上安装了IE吧:D?无论如何,尝试以管理员身份运行应用程序,因为虚拟机上的UAC设置是“错误的”。
答案 1 :(得分:0)
试试这个......
Process.Start("http://www.google.com");
它将使用您的默认浏览器启动该网站。假设是Internet Explorer,你很高兴。
答案 2 :(得分:0)
如果您想进行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);
}
}
}
并非所有代码都包含在内,但它应该足以让你开始。