Reputation: 2293
How to open a webpage in IE while clicking a button in a c# application. My intention is to create a web login for a c# application which need to be opened in IE , in specified width and height, and needs to call a function in the application program.
Upvotes: 25
Views: 87300
Reputation: 9235
There is a way to open a page in default browser System.Diagnostics.Process.Start(url);
If you want specifically to open it in IE you will probably need to create a new IE process with URL as an argument.
UPD: If you want to run a function, insert GET parameters into your url string (ie. http://stackoverflow.com/page?runFunction=1
) and in your application code check for runFunction parameter and based on its value decide if your application needs to run the function.
I don't think is possible to specify new IE window width and height values, you may need to use javascript for that.
Upvotes: 5
Reputation: 9004
from http://msdn.microsoft.com/en-us/library/system.diagnostics.process(VS.71).aspx
using System;
using System.Diagnostics;
using System.ComponentModel;
namespace MyProcessSample
{
/// <summary>
/// Shell for the sample.
/// </summary>
public class MyProcess
{
/// <summary>
/// Opens the Internet Explorer application.
/// </summary>
public void OpenApplication(string myFavoritesPath)
{
// Start Internet Explorer. Defaults to the home page.
Process.Start("IExplore.exe");
// Display the contents of the favorites folder in the browser.
Process.Start(myFavoritesPath);
}
/// <summary>
/// Opens urls and .html documents using Internet Explorer.
/// </summary>
public void OpenWithArguments()
{
// url's are not considered documents. They can only be opened
// by passing them as arguments.
Process.Start("IExplore.exe", "www.northwindtraders.com");
// Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
}
/// <summary>
/// Uses the ProcessStartInfo class to start new processes, both in a minimized
/// mode.
/// </summary>
public void OpenWithStartInfo()
{
ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
Process.Start(startInfo);
startInfo.Arguments = "www.northwindtraders.com";
Process.Start(startInfo);
}
public static void Main()
{
// Get the path that stores favorite links.
string myFavoritesPath =
Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
MyProcess myProcess = new MyProcess();
myProcess.OpenApplication(myFavoritesPath);
myProcess.OpenWithArguments();
myProcess.OpenWithStartInfo();
}
}
}
Upvotes: 44
Reputation: 70494
System.Diagnostics.Process.Start("iexplore", "http://example.com");
Upvotes: 19