自分も以前似たようなことを考えて、いろいろ調べてみたことがあります。
そのときは結局あきらめたのですが……。
たとえばIEの場合。
ちゃんとした手順でURLを取得するには、やはりCOMを使います。
具体的には、
IEのウィンドウを見つける。
↓
Internet Explorer_Serverクラスの子ウィンドウのハンドルを得る。
↓
ウィンドウハンドルからIEコンポーネントのIWebBrowser2インターフェースを取得する。
↓
getLocationURLメソッドを用いてURLを取得する。
となります。
また、ちょっとずるいですが、こんな方法があります。
http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200707/07120059.txt
ただし、この方法はブラウザの種類、バージョンなどに大きく依存します。
使うときは気をつけて使ってください。