1

外部プログラムはどのようにブラウザと通信できますか?うまくいけば、これは他の人にも役立つでしょう。これを機能させるのに失敗したときに見た、または試したいくつかのオプションをリストアップしています。他の人を知っているなら、投稿してください。


私の質問:ブラウザを変更せずに、外部のWindowsアプリから現在のフォアグラウンドブラウザ(具体的にはChrome)のURLとリファラーを取得するにはどうすればよいですか?

タイトルを取得するUser32のGetWindowTextを使用してみました(jNative for Javaを使用)。これにより、サーバーを推測できることがよくあります。タイトルをURLにマップするローカルプロキシを作成することは可能かもしれませんが、これは大変な作業です。この情報でウィンドウタイトルをリギングするためにFireFox拡張機能を作成しましたが、古くなったため、とにかくChromeでこれが必要になります。広く役立つ場合を除いて、ブラウザにジャンクを追加したくありません。おそらく、Windows上のChrome用のAppleScriptのようなAPIの機能リクエストを提出することができます。AHK Window Info 1.7は、表示/非表示のテキストの下でURL(リファラーではない)を取得することができますが、使用するコードを移植する方法がわかりません。

( q.990409のFF / C#に関する情報と、 q.823755のIE情報( q.352236にリダイレクト) 。q.1107978の情報はありません。無視してください:関連する質問:Firefoxをマクロで制御するにはどうすればよいですか? ?ブラウザ情報を取得するにはどうすればよいですか?現在のブラウザURLを取得するにはどうすればよいですか?外部アプリからChromeの現在のURLを取得するにはどうすればよいですか?

アイデア、コードサンプル、関連する可能性のある質問へのポインタ、および私の特定の質問への回答はすべてありがたいです。

4

1 に答える 1

1

手っ取り早いソリューション (Delphi から自分の言語に変換できます):

var
 h : HWND;
 pCh : array [0..255] of char;
begin
 Result := '';
 h := GetForegroundWindow;   // or pass main Chrome window here
 if h = 0 then exit;

 h := GetWindow(h,GW_CHILD);
 if h = 0 then exit;

 h := GetWindow(h,GW_HWNDNEXT);
 if h = 0 then exit;

 SendMessage(h, WM_GETTEXT, SizeOf(pCh), integer(@pCh)) ;
 Result := pCh;                // <-- URL is here!
end;

ご質問ありがとうございます ;) - WorkTime に追加されました -時間追跡ソフトウェア

于 2010-01-18T00:33:47.220 に答える