エクスプローラのアドレスバーの内容を取得するには?

解決


ドシ  2006-05-19 18:05:00  No: 95461

作成しているアプリからエクスプローラの開いているフォルダパスを自動で取得したいのです。インターネットエクスプローラのアドレスバーの内容からであればDDEでテキストコントロールに以下の方法で取れることは知っています。

textDDE.LinkTopic = "IExplore|WWW_GetWindowInfo"
textDDE.LinkItem = "0xFFFFFFFF"
textDDE.LinkMode = 2
textDDE.LinkRequest

これのエクスプローラ版のLinkTopicおよびLinkItemが分かれば解決するのですが、ご存知の方はおられませんか。
これに限らず他の手法をご存知であればご教授ください。
尚、ドラッグ&ドロップのによる取得は知っているのですが、どうしても自動に拘っています。
よろしくお願いします。


犬ひろし  2006-05-19 19:15:26  No: 95462

DDE通信で取得とはめずらしいですね。

CreateObject("Shell.Application").Windows()
での取得はだめですか?


魔界の仮面弁士  2006-05-19 19:18:20  No: 95463

Dim O As Object
For Each O In CreateObject("Shell.Application").Windows
    'Debug.Print O.LocationURL
    If TypeName(O.Document) Like "*Folder*" Then
        Debug.Print "HWND="; Hex(O.hWnd)
        Debug.Print "Name="; O.Document.Folder.Self.Name
        Debug.Print "Path="; O.Document.Folder.Self.Path
        Debug.Print "----------"
    End If
Next

とか。(VB6の場合)


ドシ  2006-05-19 20:20:52  No: 95464

ありがとうございました。
お蔭様でなんとか目的が達成できそうです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加