• ベストアンサー

エクスプローラで選択したファイル名の取得

【OS】XP-PRO 【言語】Delphi-5 エクスプローラでファイル(フォルダ)を複数選択し、右クリックの『送る』からプログラムを起動。 選択されたファイルパス名を取得したいのですが、方法がわかりません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ataka304
  • ベストアンサー率40% (9/22)
回答No.3

起動時にコマンドラインで指定できる文字数には制限があります。多分「送る」を使用した場合も下記URLと同じ制限になると思います。 これを回避し、ほぼ同等の操作性を維持するには、例えば起動時に一旦ウィンドウを開いてから、Explolerからウィンドウ上にドラッグ&ドロップしてファイル名を保管するような仕組みが必要となると思います。以下を参考にしてみてください。 http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N022.html

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;830473
you314
質問者

お礼

非常に有益なサイトを教えてくれて感謝します。 「送る」を諦めて、http://homepage2.nifty.com/Mr_XRAY/Halbow/APIVCLIndex.html を参考に組みなおしました。 ありがとうございました。

その他の回答 (2)

  • ryusei2
  • ベストアンサー率24% (45/184)
回答No.2

> 階層が深くファイル数が膨大な場合にエラーが発生したり 「指定されたデバイス、パス、またはファイルへのアクセスは拒否されました」というエラーのことでしょうか。 このエラーは、ParamStrやParamCountを使わなくても発生します。

you314
質問者

お礼

ありがとうございます。 このメッセージを例外処理で出さないようにする事は可能でしょうか。 よろしくお願いします。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

実行時引数に渡されてきます。 ParamStr変数とParamCount変数を表示させてみましょう。

you314
質問者

補足

すいません。質問内容に不備がありました。 【ParamStr変数とParamCount変数】ですと、階層が深くファイル数が膨大な場合にエラーが発生したり全て取得できない場合があります。 その他の方法での取得方法を教えて頂けないでしょうか。

関連するQ&A