Как получить URL вкладок Internet explorer с PID каждой вкладки?
У меня есть приложение, которое запускает веб-браузер с определенным URL-адресом . После завершения моей программы я хочу закрыть веб-страницы/вкладки, которые я открыл..
путем вызова EXE-файла с параметрами a. Имя процесса b. Строка присутствует в URL
вся проблема как убить дочерний процесс/вкладку firefox из Java / C++
я использовал подход C#...
Я могу найти идентификатор процесса всех вешалки..
foreach (Process theprocess in processlist) {
if (theprocess.ProcessName == "iexplore") {
Console.WriteLine("Process: {0}tID: {1}tWindow name: {2}",
theprocess.ProcessName, theprocess.Id, theprocess.MainWindowTitle
);
}
}
В настоящее время я могу получить только заголовок окна процесса....и в IE8 виден только один заголовок окна основного процесса..
при условии, что у меня есть pids каждой вкладки,Как найти URL-адрес вкладки ...и убить только этот счет ??
Я получил эту помощь от Доступ запрещен - при попытке получить url (текст) из дескриптора адресной строки
использование SHDocVw; . .
foreach (InternetExplorer ieInst in new ShellWindowsClass()) Приставка.Метода WriteLine(ieInst.LocationURL);
2 ответов
в IE7 и более поздних версиях ниже кода будет убивать только вкладку, которая имеет соответствующую строку в своем URL-адресе.
foreach (SHDocVw.InternetExplorer ieInst in new SHDocVw.ShellWindows())
{
String url = ieInst.LocationURL;
if (url.Contains("google"))
{
ieInst.Quit();
}
}
для фокусировки определенной вкладки код:
foreach (SHDocVw.InternetExplorer ieInst in new SHDocVw.ShellWindows())
{
String url = ieInst.LocationURL;
if (url.Contains("google"))
{
int val = ieInst.HWND;
IntPtr hwnd = new IntPtr(val);
ShowWindow(hwnd, SW_MAXIMISE);
SetForegroundWindow(hwnd);
}
}
есть способ получить URL-адрес каждого экземпляра IExplorer !!
добавить ссылку "Microsoft Internet Controls" в проект.
часть кода
**foreach (SHDocVw.InternetExplorer ieInst in new SHDocVw.ShellWindowsClass())
{
System.Console.WriteLine(ieInst.LocationURL);
}**
создание exe и взаимодействия.SHDocVw.dll файлы
Он будет работать ...:)