过程启动(“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");
任何建议都非常感谢
您在虚拟机上安装了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);
}
}
}
并不是所有的代码都包含在内,但它应该足以作为一个开始。