У меня есть реализация ловушки клавиатуры, которая изменяет вывод определенного текста при заданных условиях. Чтобы определить, как форматировать вывод, мне нужно иметь возможность видеть, какое окно находится в фокусе, и если Internet Explorer находится в фокусе, мне нужно иметь возможность определить, какой URL открыт на этой конкретной вкладке.
Я работал с кодом, опубликованным Саймоном в следующем посте:
Получить текущий URL из приложения форм C # windows
Process[] localByName = Process.GetProcessesByName("iexplore");
if((Keys)vkCode == Keys.LShiftKey)
{
return CallNextHookEx(_hookID, nCode, wParam, lParam);
}
foreach (Process process in Process.GetProcessesByName("iexplore"))
{
string url = GetInternetExplorerUrl(process);
if (url == null)
continue;
Console.WriteLine("IE Url for '" + process.MainWindowTitle + "' is " + url);
}
Поскольку у меня запущен Internet Explorer (и, если на то пошло, веб-страницы открыты), я надеялся / ожидал увидеть какой-нибудь вывод с URL-адресами, показывающий открытые URL-адреса. Вместо того, чтобы записывать URL-адреса на консоль, я ничего не получаю. В случае, когда я пытался использовать GetProcessesByName
, я просто получаю следующий вывод: System.Diagnostics.Process[]