Pobieranie adresu URL bieżącej karty z Google Chrome przy użyciu C #

Kiedyś był sposób na uzyskanie adresu URL aktywnej karty z Google Chrome za pomocąFindWindowEx w połączeniu z aSendMessage zadzwoń, aby pobrać tekst aktualnie w omniboksie. Ostatnia aktualizacja (?) Najwyraźniej przerwała tę metodę, ponieważ Chrome wydaje się renderować wszystko teraz. (Możesz to sprawdzić za pomocą Spy ++, AHK Window Spy lub Window Detective)

Aby uzyskać bieżący adres URL w Firefoksie i Operze, możesz użyć DDE iWWW_GetWindowInfo. To nie wydaje się możliwe w Chrome (już?).

To pytanie ma odpowiedź zawierającą więcej informacji o tym, jak to działało, czyli o tym fragmencie kodu (który, jak wyjaśniłem, już nie działa -hAddressBox jest0):

var hAddressBox = FindWindowEx(
    intPtr,
    IntPtr.Zero,
    "Chrome_OmniboxView",
    IntPtr.Zero);

var sb = new StringBuilder(256);
SendMessage(hAddressBox, 0x000D, (IntPtr)256, sb);
temp = sb.ToString();

Więc moje pytanie brzmi: czy istniejeNowy sposób na uzyskanie adresu URL aktualnie skupionej karty? (Tylko tytuł nie wystarczy)

questionAnswers(9)

yourAnswerToTheQuestion