|
仕様がどこにあったかもう忘れてしまいましたが。
普通に読めばいいだけだったはず。
昔の私のコードではこんなになってます。
Dim u As Uri = Nothing
Dim memst As MemoryStream = TryCast(e.Data.GetData(ShellClipboardFormats.UniformResourceLocatorW), MemoryStream)
Dim str As String
Dim i As Integer
If memst Is Nothing Then Exit Sub
Using sr As New StreamReader(memst, System.Text.Encoding.Unicode) ' Unicodeで読む
str = sr.ReadToEnd()
End Using
i = str.IndexOf(vbNullChar)
If i >= 0 Then str = str.Substring(0, i)
If Not Uri.TryCreate(str, UriKind.Absolute, u) Then Exit Sub
とりあえず「W」付きじゃないほうはANSIなのでプラットフォーム依存です。
仕様はどこにあったっけなぁ?
他にもドラッグ中に発生する通信用のデータフォーマットとか、いろいろ規定されていたはずなんですが。
|