Немного странный (сложный?) вопрос. Можно ли программно получить доступ к вкладкам открытого браузера из внешнего приложения? Я понимаю, что это расплывчатый вопрос, но выслушайте меня:
То, что я пытаюсь создать, - это приложение «Gmail Chat Notifier», которое мигает значком уведомления на панели задач Windows, когда существует неотвеченное сообщение чата. На данный момент, насколько я могу судить, единственными встроенными уведомлениями чата Gmail являются:
- Включить звуки (что я не предпочитаю)
- Следите за заголовком окна/вкладки/страницы, чтобы увидеть попеременно мигающее сообщение «Gmail» / «Блах говорит…».
Проблема с № 2 заключается в следующем: когда окно браузера свернуто, а вкладка Gmail не является активной вкладкой в браузере, заголовок окна не меняется, и я не замечаю новых сообщения чата.
Поэтому я хотел бы создать приложение, которое следит за заголовками вкладок для меня. (Все заголовки вкладок, а не только заголовок окна, который является только заголовком активной вкладки.) Я создал экспериментальное приложение C# для обнаружения неотвеченных сообщений чата, перечисляя активные процессы Windows и наблюдая за мигающим «Блах». говорит..." в заголовке окна:
Process[] procs = Process.GetProcesses();
IntPtr hWnd;
foreach (Process proc in procs)
if ((hWnd = proc.MainWindowHandle) != IntPtr.Zero)
if (proc.MainWindowTitle.IndexOf(" says… ") >= 0)
...
Но очевидная проблема с этим заключается в том, что он не будет работать, когда вкладка Gmail не является активной/сфокусированной вкладкой (поскольку она просматривает только заголовки окон). Поэтому мне нужно что-то, что может копнуть глубже и посмотреть на названия вкладок.
Я открыт ко всему. Я думал, что может сработать, так это найти способ каким-то образом перечислить вкладки браузера (дочерние окна MDI? *скрестим пальцы*), но, возможно, это даже близко не возможно :) Я также открыт к другим решениям, если есть способ сделать это, скажем, с помощью плагинов Firefox или чего-то еще (но было бы неплохо интегрироваться с системным треем Windows, а не просто существовать в песочнице браузера).
Может ли кто-нибудь помочь мне начать? Большое спасибо заранее.