C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

長いパスをD&Dで受け取る方法

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■82911 / inTopicNo.1)  長いパスをD&Dで受け取る方法
  
□投稿者/ がもう (12回)-(2017/02/19(Sun) 17:40:37)

分類:[.NET 全般] 

以下のコードを使って、
DataGridViewにD&Dされたファイルパスを読み込んでいるのですが
長いファイルパス名を含むファイルを読み込むことができません。

どうすれば長いファイルパスも読み込めるようになりますでしょうか?


Private Sub DataGridView1_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles DataGridView1.DragDrop

Dim file() As String = CType(e.Data.GetData(DataFormats.FileDrop), String())

End Sub


引用返信 編集キー/
■82915 / inTopicNo.2)  Re[1]: 長いパスをD&Dで受け取る方法
□投稿者/ Azulean (780回)-(2017/02/19(Sun) 19:03:04)
No82911 (がもう さん) に返信
> DataGridViewにD&Dされたファイルパスを読み込んでいるのですが
> 長いファイルパス名を含むファイルを読み込むことができません。
> どうすれば長いファイルパスも読み込めるようになりますでしょうか?

IDataObject.GetData(FORMATETC を使うネイティブよりのインターフェース)でも COMException になっていることから、エクスプローラー自体がドロップソースとしてきちんと動いていないかもしれません。

// その見方が正しいとすると Windows 10 Anniversary Update でグループポリシーを有効にする以外、「方法はない」になりますが…。
引用返信 編集キー/
■82916 / inTopicNo.3)  Re[2]: 長いパスをD&Dで受け取る方法
□投稿者/ がもう (13回)-(2017/02/19(Sun) 19:06:41)
http://endoffile.web.fc2.com/

.NET Framework 3.5でも長いファイルパスを読み込めるものがありましたが
これはどうやって実現しているのでしょうか?
 
引用返信 編集キー/
■82917 / inTopicNo.4)  Re[3]: 長いパスをD&Dで受け取る方法
□投稿者/ がもう (14回)-(2017/02/19(Sun) 19:09:51)
そうかこのソフトはフォルダをD&Dして使う仕様になっており
ファイルのD&Dは受け付けないのですね
 
じゃあ、方法はないのでしょうか・・・?

引用返信 編集キー/
■82921 / inTopicNo.5)  Re[4]: 長いパスをD&Dで受け取る方法
□投稿者/ 魔界の仮面弁士 (1133回)-(2017/02/20(Mon) 08:26:44)
No82917 (がもう さん) に返信
> そうかこのソフトはフォルダをD&Dして使う仕様になっており
> ファイルのD&Dは受け付けないのですね

長すぎるパスだと、シェルエクステンションすら動作しないことがありますし、
運用側の回避ということになるので、長い名前の利用を改めることになると思います。

あるいは、成功するかは分かりませんが、ディレクトリのジャンクションや
ファイルのハードリンクなどで短い別名を付けた上で、そのエイリアスを
ドラッグしてもらうようにすれば、長い名前のパスのファイルを操作できるかも知れません。
引用返信 編集キー/
■82922 / inTopicNo.6)  Re[5]: 長いパスをD&Dで受け取る方法
□投稿者/ がもう (16回)-(2017/02/20(Mon) 08:36:51)
ありがとうございます。
 
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ