■42060 / inTopicNo.7) |
Re[5]: WebBrowserのお気に入り機能 |
□投稿者/ 魔界の仮面弁士 (1345回)-(2009/10/07(Wed) 12:21:27)
|
■No42035 (ド素人@VB さん) に返信
>>そこからURLを取り出すだけですけど。
> URLを取得するのは出来ると思うのですが、
*.url の内容を読み取るには、正式には IUniformResourceLocator インターフェイスの
GerURL メソッドを利用する事になります。(No6846 で回答しています)
http://msdn.microsoft.com/en-us/library/dd565673.aspx
--------------
Option Strict On
Imports System
Imports System.Runtime.InteropServices
Imports System.Runtime.InteropServices.ComTypes
Module Module1
Public Function GetUrl(ByVal filePath As String) As String
Dim urlFile As Object = Nothing
Dim pFile As IPersistFile
Dim locator As IUniformResourceLocatorW
Try
urlFile = CreateObject("InternetShortcut")
pFile = DirectCast(urlFile, IPersistFile)
pFile.Load(filePath, 0)
locator = DirectCast(urlFile, IUniformResourceLocatorW)
Dim url As String = String.Empty
locator.GetUrl(url)
Return url
Finally
Marshal.ReleaseComObject(urlFile)
End Try
End Function
<ComImport(), Guid("CABB0DA0-DA57-11CF-9974-0020AFD79762")> _
<InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
Private Interface IUniformResourceLocatorW
Sub SetUrl(<[In](), MarshalAs(UnmanagedType.LPWStr)> ByVal pcszURL As String, ByVal dwInFlags As Integer)
Sub GetUrl(<Out(), MarshalAs(UnmanagedType.LPWStr)> ByRef ppszURL As String)
Sub InvokeCommand(ByVal purlici As IntPtr)
End Interface
End Module
--------------
まぁ、中身は ini ファイルに酷似したテキストファイルなので、
他の方法で読み取る事も可能でしょうけれども。
> クリックされたファイルを取得する方法が分かりません。
WebBrowser 上にフォルダを表示して、選択された項目(フォルダ/ファイル)を取得する方法は、
以前、No41336 にサンプルを書いています。 C# 版ですが、興味があれば参照してみてください。
ただしヴァンさんが書かれていますように、フォルダをそのまま表示するのではなく、
自己管理された方が良いと思います。
|
|