Skip to content

vramwiz/DropAgent

Repository files navigation

DropFileHandler

Delphi 向けのファイルドロップ処理ユニットです。Windows エクスプローラーなどからアプリケーションへファイルをドラッグ&ドロップすると、そのファイルパスを受け取り、アプリケーション内で利用できるようになります。

機能概要

  • Windows 標準の HDROP フォーマットに対応したファイルドロップ処理
  • DragQueryFile を使ってドロップされたファイル名の一覧を取得
  • 最大ファイル数やサイズに依存せず、エクスプローラーから安定して受け取れる設計
  • 一部の他アプリケーション(例:画像エディタなど)からの非HDROP形式には非対応

使用方法

  1. 対象フォームでドラッグ&ドロップを許可:

    DragAcceptFiles(Handle, True);
  2. フォームのメッセージハンドラで WM_DROPFILES を処理:

    procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;
  3. ドロップ処理内でファイル一覧を取得:

    var
      Files: TArray<string>;
    begin
      if ExtractDroppedFiles(Msg.Drop, Files) then
      begin
        // Files にファイルパス一覧が格納されている
      end;
    end;

制限事項

  • ドロップされたファイル以外(画像データ、テキストデータなど)は取得できません
  • HDROP 形式以外のフォーマット(例:CF_BITMAP, CF_DIB, CF_TEXT など)には未対応
  • アプリケーションが DragAcceptFiles を呼び出していない場合、ドロップは無視されます

対応環境

  • Delphi 7 以降
  • Windows 7 / 8 / 10 / 11

ライセンス

MIT または パブリックドメインとして自由にご利用ください。

作者

VRAMの魔術師

About

別アプリからのファイル、テキストドロップクラス(Delphi)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages