タイトル : Re: IEのアドレスバーにSendMessage 投稿日 : 2012/07/10(Tue) 19:22 投稿者 : 魔界の仮面弁士
> 環境:VB6.08 WindowsXP SP3 ひとつ確認させてください。 私は「VB6.08」というバージョンの VB に心当たりがなく、 google 等で検索しても、6.08 という製品バージョンが 見当たらなかったのですが、それはどのような製品ですか? > 既に開いているIE(Process取得済み)に対してURLを送信しようとしています。 単純に、Navigate メソッドを呼び出すだけでは駄目でしょうか。 自分で起動したものではなく、すでに起動されているものを拾うなら、 ROT から得るか、もしくは ShellWindows コレクションで列挙できるはずです。 Dim IE As Object, S As String For Each IE In GetObject("new:9BA05972-F6A8-11CF-A442-00A0C90A8F39") If TypeName(IE.Document) = "HTMLDocument" Then S = "Top = " & CStr(IE.Top) & vbCrLf _ & "Left = " & CStr(IE.Left) & vbCrLf _ & "Width = " & CStr(IE.Width) & vbCrLf _ & "Height = " & CStr(IE.Height) & vbCrLf _ & "URL = " & IE.LocationURL If MsgBox("googleに移動しますか?" & vbCrLf & S, vbYesNo Or vbQuestion) = vbYes Then IE.Navigate "http://www.google.com/" Exit For End If End If Next > SendMessage(hWndC3,WM_SETFOCUS,0,0) VB6 であれば、 SendMessage hWndC3, WM_SETFOCUS, 0, 0 Call SendMessage(hWndC3, WM_SETFOCUS, 0, 0) ret = SendMessage(hWndC3, WM_SETFOCUS, 0, 0) でのいずれかの構文になるはずです。 もし、上記のいずれでもなく、本当に SendMessage(hWndC3, WM_SETFOCUS, 0, 0) という構文で呼び出されておられるのだとすれば、それは VB6 ではありませんので、 お隣の VB.NET 掲示板への移動をお願いします。 |