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

ツリー一括表示

Nomalアイコン WMPへno /HeavyRocker (20/05/22(Fri) 05:11) #34472
Nomalアイコン 途中で送信してしまいました /HeavyRocker (20/05/22(Fri) 05:18) #34473
Nomalアイコン Re[1]: WMPへのDragDrop /魔界の仮面弁士 (20/05/22(Fri) 09:04) #34474
  └Nomalアイコン Re[2]: WMPへのDragDrop /HeavyRocker (20/05/23(Sat) 05:06) #34475 解決み!


親記事 / ▼[ 34473 ] ▼[ 34474 ]
■34472 / 親階層)  WMPへno
□投稿者/ HeavyRocker 一般人(1回)-(2020/05/22(Fri) 05:11:49)
  • アイコン環境/言語:[Win10Home 64 ] 
    分類:[.NET] 

    下記のコードでExplorerにDragDropできています
    (LVItem.SubItems(4).Text がファイルのフルパス文字列です)

    '右ボタンでのドラッグのときはファイルのコピー
    Dim MydataObject As New DataObject
    Dim strFileList As New
    System.Collections.Specialized.StringCollection
    'ListViewの選択されている各Itemについて
    For Each LVItem As ListViewItem In Me.ListView1.SelectedItems
    strFileList.Add(LVItem.SubItems(4).Text)
    Next
    MydataObject.SetFileDropList(strFileList)
    ListView1.DoDragDrop(MydataObject, DragDropEffects.Copy)

    それなら WMP(WindowsMediaPlayer) にもできるはず! と思い
    WMPの再生リストにDragしてみると・・受け付けてくれません。
    (車両通行止めのマーク)

    Explorerが受け取ってくれているということで、一応VB上の規則は守って
    Drag開始していると思います。
    あとは受け取ってほしいWMP側の仕様が思惑と異なるのでは?と考えてしまいます。

    ただ、ExplorerからWMPへのDragDropはもちろんできているので、同じことを
    しているつもりなのですが・・



違反を報告
[ □ Tree ] 返信 削除キー/

▲[ 34472 ] / 返信無し
■34473 / 1階層)  途中で送信してしまいました
□投稿者/ HeavyRocker 一般人(2回)-(2020/05/22(Fri) 05:18:04)
  • アイコンNo34472に返信(HeavyRockerさんの記事)

    Titleは

     WMPへのDragDrop

    としたかったのですが途中で送信してしまいました。 すみません
違反を報告
[ 親 34472 / □ Tree ] 返信 削除キー/

▲[ 34472 ] / ▼[ 34475 ]
■34474 / 1階層)  Re[1]: WMPへのDragDrop
□投稿者/ 魔界の仮面弁士 大御所(1283回)-(2020/05/22(Fri) 09:04:08)
  • アイコンNo34472に返信(HeavyRockerさんの記事)
    > 下記のコードでExplorerにDragDropできています

    タイトルの WMP を WPF と見間違えました…。
    Wndows Forms アプリケーションの話でしたね。


    > 受け取ってほしいWMP側の仕様が思惑と異なるのでは?と考えてしまいます。

    たとえば、C:\Windows\Media\Alarm01.wav を Explorer から
    ドラッグした場合、ドロップデータの形式として、
    9 個から 18個程度程度のフォーマットが含まれていました。
    こちらで確認できたのは以下のものです。

     CFSTR_SHELLIDLIST
     CF_HDROP
     CFSTR_FILENAMEA
     CFSTR_FILECONTENTS
     CFSTR_FILENAMEW
     CFSTR_FILEDESCRIPTORW
     "UsingDefaultDragImage"
     "DragImageBits"
     "DragContext"
     "DragSourceHelperFlags"
     CFSTR_INDRAGLOOP
     "IsShowingLayered"
     "DragWindow"
     "IsComputingImage"
     CFSTR_DROPDESCRIPTION
     "IsShowingText"
     "ComputedDragImage"
     CF_HDROP_THUMBNAIL
     

    No34472 のコードの場合は、
     CF_HDROP
     CFSTR_FILENAMEW
     CFSTR_FILENAMEA
    しかありません。
    恐らく WMP が使っているのは、この 3 つ以外の何か…なのでしょう。

    もしもそれが CFSTR_SHELLIDLIST だとしたら、
    たとえばこのような手続になります。
    https://ja.stackoverflow.com/questions/63727/
違反を報告
[ 親 34472 / □ Tree ] 返信 削除キー/

▲[ 34474 ] / 返信無し
■34475 / 2階層)  Re[2]: WMPへのDragDrop
□投稿者/ HeavyRocker 一般人(3回)-(2020/05/23(Sat) 05:06:10)
  • アイコン魔界の仮面弁士さん ありがとうございます

    > ドロップデータの形式として、
    > 9 個から 18個程度程度のフォーマットが含まれていました。

    > もしもそれが CFSTR_SHELLIDLIST だとしたら、
    > たとえばこのような手続になります

    つまり、VB.NET の範囲内の話ではないということですね。
    相手側の仕様を熟知している必要がある、というのは
    もっともなことです。

    今回はあきらめます。
    ありがとうございました。

解決み!
違反を報告
[ 親 34472 / □ Tree ] 返信 削除キー/


Mode/  Pass/


- Child Tree -