Enumerar as guias do navegador do aplicativo externo

Um pouco de uma pergunta estranha (desafiadora?). É possível acessar programaticamente as guias de um navegador aberto de um aplicativo externo? Eu percebo que é uma pergunta vaga, mas me ouça:

O que estou tentando criar é um aplicativo "Gmail Chat Notifier" que exibe um ícone de notificação na bandeja do sistema do Windows quando existe uma mensagem de bate-papo não respondida. Neste momento, até onde posso dizer, as únicas notificações de chat do Gmail incorporadas são:

Ativar sons (que eu não prefiro)Veja o título da janela / guia / página da mensagem intermitente "Gmail" / "Blah says ...".

O problema com o nº 2 é: quando a janela do navegador é minimizada e quando a guia do Gmail não éativo aba no navegador, o título da janela não muda e eu não noto novas mensagens de chat.

Então, eu gostaria de criar um aplicativo que observe os títulos das guias para mim. (Todos os títulos de abas, não apenas o título da janela, que é apenas o título da aba ativa.) Eu criei um aplicativo C # de prova de conceito para detectar mensagens de bate-papo não respondidas enumerando os processos ativos do Windows e observando o "Blah" piscando diz ... "no título da janela:

Process[] procs = Process.GetProcesses();
IntPtr hWnd;
foreach (Process proc in procs)
    if ((hWnd = proc.MainWindowHandle) != IntPtr.Zero)
        if (proc.MainWindowTitle.IndexOf(" says… ") >= 0)
        ...

Mas o problema óbvio com isso é que não funcionará quando a guia do Gmail não for a guia ativa / focada (já que só vê os títulos das janelas). Então, eu preciso de algo que possa ir mais fundo e ver os títulos das abas.

Estou aberto a qualquer coisa. O que eu estava pensandopoderia trabalho é encontrar uma maneira de enumerar as abas do navegador de alguma forma (MDI child windows? * dedos cruzados *), mas talvez isso não seja nem um pouco próximo do possível :) Também estou aberto a outras soluções também se houver uma maneira de fazer isso, digamos, plugins do Firefox ou algo assim (mas seria bom se integrar à bandeja do sistema do Windows, e não existir apenas na caixa de proteção do navegador).

Alguém pode me ajudar a começar? Muito obrigado antecipadamente.

questionAnswers(1)

yourAnswerToTheQuestion