Witam
Chciałbym pobrać URL z przegladarek internetowych do swojej aplikacji (aktualnie otwarta zakladka)
Mam tutaj namyśli "chrome, firefox, opera)
Dużo jest tematów na różnych forach na ten temat jednak zaden nie rozwiązuje mojego problemu nie uzywając dll.
co do kodu z chrome do pewnego czasu działała funkcja podana niżej teraz niestety nie ma juz "Chrome_OmniboxView" sprawdzalem spy++
Dodatkowo nie widze w spy++ nigdzie calego adresu url z chrome. Czy ktoś jest wstanie pomoc mi rozwiązać ten problem?
public static string getChromeURL()
{
uint MAX_PATH = 255;
IntPtr hChrome = (IntPtr)1000, hAddressBox;
Process[] process = Process.GetProcesses();
foreach (var p in process)
{
if (p.MainWindowTitle != "")
{
if (p.ProcessName == "chrome")
{
hChrome = p.MainWindowHandle;
}
}
}
hAddressBox = FindWindowEx(hChrome, IntPtr.Zero, "Chrome_OmniboxView", IntPtr.Zero);
StringBuilder sb = new StringBuilder(256);
SendMessage(hAddressBox, WM_GETTEXT, (IntPtr)MAX_PATH, sb);
string s = sb.ToString().Trim(new Char[] { ' ', '\0', '\n' });
return CutUrl("http://"+s.Trim());
}
Co do firefox-a i chroma znalazlem biblioteke "ndde" która działa dobrze jednak raczej nie chce używać gotowca tylko nauczyć sie pobierać te dane.
Szukałem na forach i wiem ze zadna funkcja WinAPI nie działa dobrze z firefox-em i operą. Prosze o podpowiedz jak moge te dane wyciągnąć.
Język dla mnie bez znaczenia czy to bedzie c, c++ czy c# - napisalem tą funkcje w c# bo apka jest w c#.