Okay everyone. Did lot's of digging to get this one and the Google references
to code are not helpful. Bookmark this one. Here's the code to do it:
using SHDocVw;
using mshtml;
....
listProcesses.Items.Clear();
ShellWindows SW = new ShellWindowsClass();
string processName;
HTMLDocumentClass htmlDoc;
foreach (InternetExplorer IE in SW)
{
processName =
System.IO.Path.GetFileNameWithoutExtension(IE.FullName).ToLower();
if (processName.Equals("iexplore"))
{
try
{
htmlDoc = (HTMLDocumentClass)IE.Document;
listProcesses.Items.Add(htmlDoc.IHTMLDocument2_nameProp + " - " +
htmlDoc.IHTMLDocument2_url);
}
// when the browser does not hold an html doc
catch (InvalidCastException ex)
{
}
}
}
--
Wes Williams
"Wes Williams" wrote:
Quote:
> How can I approach capturing all the open URL's in all tabs in my open browser?
>
> I wrote C# code to capture all of the IE processes but I cannot get into the
> browser object model from there. How do I get into the object model and get
> the URL in the address bar in all tabs?
>
> Process[] myProcesses = Process.GetProcesses();
> foreach (Process myProcess in myProcesses)
> {
> if (myProcess.ProcessName.Equals("IExplore",
> StringComparison.CurrentCultureIgnoreCase))
> Console.Write(myProcess.ProcessName);
> }
>
> --
> Thanks,
> Wes