Piszę aplikację na pasku systemowym, która musi sprawdzić, czy jest otwarta wewnętrzna aplikacja internetowa.Jak uzyskać adresy URL otwartych stron z przeglądarki Chrome i Firefox?
mogę sprawdzić IE przy użyciu następujących:
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();
string filename;
bool sdOpen = false;
foreach (SHDocVw.InternetExplorer ie in shellWindows)
{
filename = Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
if (filename.Equals("iexplore"))
{
string[] urlParts = (ie.LocationURL.ToString()).Split('/');
string website = urlParts[2];
if (website == "myApp:8080") { sdOpen = true; };
}
}
if (sdOpen) { Console.WriteLine("App is open"); } else { Console.WriteLine("App is not open"); };
Console.ReadKey(true);
Jednak niektórzy z użytkowników korzystających z systemu wolą Chrome lub Firefox.
Jak mogę zrobić to samo, co powyżej (tzn. Pobrać adresy URL wszystkich otwartych kart w przeglądarce) w przeglądarce Chrome i Firefox? (Nie będę zajmował się innymi przeglądarkami, ponieważ są to jedyne używane w naszej organizacji.)
Interesujące pytanie. Znalazłem wątek o [robiąc to z AutoHotkey] (http://www.autohotkey.com/forum/topic51981.html) z Firefoksem (obecna karta), dyskusja może ci w tym pomóc. Możesz utworzyć dodatek Firefox, który będzie iterować po wszystkich kartach, i podobnie w Chrome.[This] (http://www.autohotkey.com/forum/topic46974.html) również może się przydać. –
Więcej linków: [MozRepl @ AMO] (https://addons.mozilla.org/pl/firefox/addon/mozrepl/), [film YouTube] (http://www.youtube.com/watch?v=5RSnHN6S52c). Aby wyświetlić listę wszystkich adresów URL otwartych kart w Firefoksie, zobacz [to rozszerzenie] (https://addons.mozilla.org/en-US/firefox/addon/list-open-urls/). Rozszerzenia Firefox to w zasadzie pliki ZIP zawierające kod JavaScript i XUL, dzięki czemu możesz z łatwością go dostosować. –
A może zamiast tego sprawdzać ruch internetowy użytkowników? Możesz ustawić na przykład [proxy] (http://stackoverflow.com/questions/226784/how-to-create-a-simple-proxy-in-c). – Dmitriy