tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル IEのアドレスバーにSendMessage
投稿日: 2012/07/10(Tue) 17:31
投稿者Boze
環境:VB6.08 WindowsXP SP3

いつも大変お世話になっております。
標題についてうまくいかないのでご教示お願いいたします。

既に開いているIE(Process取得済み)に対してURLを送信しようとしています。
SendKeysではうまく動作しないためより確実であろうSendMessageの使用を検討しています。

@ VBよりShellでIEを開く。2重軌道禁止のためにProcessを取得しておく
A 別のURLを開くときにProcessが生きていれば既存のIEにURL送信
  Processが死んでいればShellにて起動

今しようとしていることは
@ ProcessよりIEのウィンドウハンドルを取得
A FindoWindowExよりアドレスバーのハンドルを取得
B SendMessageによりアドレスバーにSetFocus
C SendMessageによりアドレスバーにURL送信

しかし現在Aでつまずいて困っています。

いくつかのサイトによると、
IEの親ハンドル  :hWnd
そのChildハンドル:hWndC1 WorkerW
そのChildハンドル:hWndC2 ReBarWindow32
そのChildハンドル:hWndC3 EDIT ←これがAddressBar
となっており

hWndC1=FindWindowEx(hWnd,0,"WorkerW",vbnullstring)
hWndC2=FindWindowEx(hWnd,0,"ReBarWindow32",vbnullstring)
hWndC3=FindWindowEx(hWnd,0,"EDIT",vbnullstring)

SendMessage(hWndC3,WM_SETFOCUS,0,0)
SendMessage(hWndC3,WM_SETTEXT,0,URL)
PostMessage(hWndC3,WM_KEYDOWN,VK_RETURN,0)

でできるはずなのですが、hWndC1が取得できず先に進めません。
今だ検索中ですが正しい方法を教えていただけるとありがたいです。
宜しくお願いします

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。