zoddiax

Hello

I want to know how can i open multiple tabs in IE7 using C#. Following is my code but this code is opening 2 separate internet explorer windows.

I want to open 2 websites in same window but in 2 different tabs.

Code Block

using System;

using System.Collections.Generic;

using System.Text;

using SHDocVw;

namespace Internet_Explorer

{

class Program

{

static void Main(string[] args)

{

InternetExplorer ieExplorer1 = new InternetExplorer();

InternetExplorer ieExplorer2 = new InternetExplorer();

ieExplorer1.Visible = true;

ieExplorer2.Visible = true;

object x = null;

ieExplorer1.Navigate(@"http://www.google.com", ref x, ref x, ref x, ref x);

ieExplorer2.Navigate(@"http://www.blackle.com", ref x, ref x, ref x, ref x);

}

}

}




Re: Internet Explorer Web Development To open multiple tabs in IE7 ... Please Help

rtdev

I found an example of how to open two URLs, in the same IE7 window, on 2 sepparate tabs, at this url http://blogs.msdn.com/rahulso/archive/2006/12/17/visual-basic-and-ie-7.aspx.

He is using VB but you should be able to translate to C#.

Hope this helps.






Re: Internet Explorer Web Development To open multiple tabs in IE7 ... Please Help

zoddiax

Thanks Sir. It was very useful. But I am not able to bring it in application. The msdn site gives the following syntax where i need to give the value for flags from the below enum, but its giving error

HRESULT Navigate(      
BSTR url, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers );
typedef enum BrowserNavConstants {
    navOpenInNewWindow = 0x1,
    navNoHistory = 0x2,
    navNoReadFromCache = 0x4,
    navNoWriteToCache = 0x8,
    navAllowAutosearch = 0x10,
    navBrowserBar = 0x20,
    navHyperlink = 0x40,
    navEnforceRestricted = 0x80,
    navNewWindowsManaged = 0x0100,
    navUntrustedForDownload = 0x0200,
    navTrustedForActiveX = 0x0400,
    navOpenInNewTab = 0x0800,
    navOpenInBackgroundTab = 0x1000,
    navKeepWordWheelText = 0x2000
} BrowserNavConstants;
Code Block
static void Main(string[] args)
{
InternetExplorer ieExplorer1 = new InternetExplorer();
ieExplorer1.Visible = true;
object x = null;
ieExplorer1.Navigate(@"http://www.google.com", ref x, ref x, ref x, ref x);
ieExplorer1.Navigate(@"http://www.blackle.com", ref 0x0800, ref x, ref x, ref x);
}

 This is the error
Error 1 A ref or out argument must be an assignable variable D:\Softwares\Visual Studio Projects\C# Projects\Internet Explorer\Internet Explorer\Program.cs 18 65 Internet Explorer
Error 2 The best overloaded method match for 'SHDocVw.IWebBrowser2.Navigate(string, ref object, ref object, ref object, ref object)' has some invalid arguments D:\Softwares\Visual Studio Projects\C# Projects\Internet Explorer\Internet Explorer\Program.cs 18 13 Internet Explorer
Error 3 Argument '2': cannot convert from 'int' to 'ref object' D:\Softwares\Visual Studio Projects\C# Projects\Internet Explorer\Internet Explorer\Program.cs 18 65 Internet Explorer





Re: Internet Explorer Web Development To open multiple tabs in IE7 ... Please Help

rtdev

You are getting the error because you must pass in a variable when using the ref (as reference). Try creating variables and then pass them into the functions. Something like this:

Code Block

SHDocVw.InternetExplorerClass ieExplorer1 = new SHDocVw.InternetExplorerClass();

ieExplorer1.Visible = true;

object Flags = null;

object TargetFrameName = null;

object PostData = null;

object Headers = null;

ieExplorer1.Navigate(@"http://www.google.com", ref Flags, ref TargetFrameName, ref PostData, ref Headers);

Flags = 0x0800;

ieExplorer1.Navigate(@"http://www.blackle.com", ref Flags, ref TargetFrameName, ref PostData, ref Headers);

Hope this works.