DOBON.NET DOBON.NETプログラミング掲示板過去ログ

IEのアドレスを取得

環境/言語:[XP home,VB.NET,1.0]
分類:[.NET]

Windows XP home,VisualBasic.NET,Framework 1.0

こんにちは。私は今InternetExplorerの(現在開いている)URLを取得するソフトを作ろうとしています。

自力で検索したところ、DDEを用いればできることがわかりました。
(Win32APIを使ってもできるみたいです)

そこでDDEについて調べましたら、VB.NETではDDEがサポートされなくなった
みたいなので、行き詰ってしまいました。

Win32APIを使う方法よりもDDEの方が簡単そうな気がするのですが、
どうすればいいでしょうか?
2005/01/05(Wed) 23:50:28 編集(投稿者)

> 自力で検索したところ、DDEを用いればできることがわかりました。
> (Win32APIを使ってもできるみたいです)
>
> そこでDDEについて調べましたら、VB.NETではDDEがサポートされなくなった
> みたいなので、行き詰ってしまいました。
>
> Win32APIを使う方法よりもDDEの方が簡単そうな気がするのですが、
> どうすればいいでしょうか?

方法としてはいくつかあると思いますが、次のようにオートメーションを使って、
IEを操作することができます。

参照設定として、Microsoft Internet ControlsとMicrosoft HTML Object Libraryを
指定しておきます。あとは、InternetExplorerClassのLocationURLプロパティを
取得します。

Dim urlList As New ArrayList()
Dim shw = New ShellWindowsClass()
Dim ie As InternetExplorer
For Each ie In shw
  If Path.GetFileNameWithoutExtension(ie.FullName).ToLower() = "iexplore" And TypeOf ie.Document Is mshtml.HTMLDocument Then
    urlList.Add(ie.LocationURL)
  End If
Next ie
■No8258に返信(antさんの記事)
> 方法としてはいくつかあると思いますが、次のようにオートメーションを使って、
> IEを操作することができます。
>
> 参照設定として、Microsoft Internet ControlsとMicrosoft HTML Object Libraryを
> 指定しておきます。あとは、InternetExplorerClassのLocationURLプロパティを
> 取得します。
>
> Dim urlList As New ArrayList()
> Dim shw = New ShellWindowsClass()
> Dim ie As InternetExplorer
> For Each ie In shw
>   If Path.GetFileNameWithoutExtension(ie.FullName).ToLower() = "iexplore" And TypeOf ie.Document Is mshtml.HTMLDocument Then
>     urlList.Add(ie.LocationURL)
>   End If
> Next ie

ありがとうございます。こんな方法があったんですね。
参考にさせていただきます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板