I have my application which triggers Web Browser with specific URL . After my program ends i want to close the web pages/tabs which i have opened..
By calling an EXE file with parameters a. Process Name b. String present in the URL
Detailed problem How to kill firefox child process/tab from Java/C++
I used C# approach ...
I am able to find the process ID of all the tabs..
foreach (Process theprocess in processlist) {
if (theprocess.ProcessName == "iexplore") {
Console.WriteLine("Process: {0}\tID: {1}\tWindow name: {2}",
theprocess.ProcessName, theprocess.Id, theprocess.MainWindowTitle
);
}
}
Currently i can get only Window Title of the process....and in IE8 only one window title of main process is visible..
Provided i have the pids of each tabs,How to find the URL of the tab ...and kill only that tab ??
I got this help from Access is denied - when trying to get the url (text) from address bar's handle
using SHDocVw; . .
foreach (InternetExplorer ieInst in new ShellWindowsClass()) Console.WriteLine(ieInst.LocationURL);
In IE7 and later versions, below code will kill only the tab which has matching string in its URL.
To focus a specific tab the code is :
There is a way get the URL of each IExplorer instance !!
Add a reference "Microsoft Internet Controls" to the project.
The piece of code is
Generate the exe and Interop.SHDocVw.dll
It will work ...:)