奇妙な質問ですか?開いているブラウザのタブにプログラムで外部アプリケーションからアクセスすることは可能ですか?外部アプリケーションからブラウザのタブを列挙します。
私が作成しようとしているのは、チャットメッセージが返信されていないときにWindowsシステムトレイの通知アイコンを点滅させる「Gmail Chat Notifier」アプリケーションです。今、私の知る限り、唯一の組み込みのGmailのチャットの通知は次のとおりです。
は- の交流のために(私は好まない)音
- ウォッチウィンドウ/タブ/ページタイトルを有効にします"Gmail"/"Blah says ..."というメッセージが点滅します。
#2に問題がある:ブラウザのウィンドウが最小化された場合、およびGmailのタブブラウザでアクティブタブでないとき、ウィンドウタイトルが変更されないと、私は気づきません新しいチャットメッセージ。
私は、私のためのタブのタイトルを監視するアプリケーションを作成したいと思います。アクティブなWindowsプロセスを列挙し、「Blah」が点滅しているかどうかを監視することで、未解決のチャットメッセージを検出するための概念実証C#アプリケーションを作成しました(これはアクティブなタブタイトルだけではなく、すべてのタブタイトルです)ウィンドウのタイトルに「...言う:
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のシステムトレイと統合するのがよいでしょう)。
誰でも手伝ってもらえますか?事前に感謝します。