DragQueryFile(A)

ユーザーのドラッグ・アンド・ドロップ操作によってドロップされたファイルの総数や個々のファイル名を取得します。

UINT DragQueryFileA(
    HDROP  hDrop,   // 内部データ構造体のハンドル
    UINT   iFile,   // ファイルインデックス
    PTSTR  pszFile, // ファイル名を格納するバッファのアドレス
    UINT   cch      // pszFile バッファのサイズ
);

SHELL32.DLL

引数

hDrop

ドロップされたファイルを表す内部データ構造体を操作するためのハンドルを指定します。この値は WM_DROPFILES メッセージの wParam パラメータにあたります。

iFile

取得するファイルのインデックスを指定します。このインデックスは 0 を基準としたものです。この引数に -1 (0xFFFFFFFF) を指定すると、この関数の戻り値としてドラッグ・アンド・ドロップされたファイルの数が返ります。

pszFile

取得したファイル名を格納するバッファへのポインタを指定します。この引数に 0 (NULL) を指定すると、この関数の戻り値として必要な文字列のサイズが返ります。

cch

pszFile パラメータで指定したバッファのサイズを、バイト数(Unicode 版の場合は文字数)で指定します。

戻り値

ファイル名を取得するとバッファにコピーされた文字列のバイト数(Unicode 版の場合は文字数)が返ります。

iFile パラメータで示されるインデックスに -1 (0xFFFFFFFF) を指定した場合、ドロップされたファイルの数が返ります。

iFile パラメータで示されるインデックスが 0 から全ファイル数までの間の値であり、かつ、 pszFile パラメータに 0 (NULL) を指定した場合、ファイル名を格納するのに必要なバッファのバイト数(Unicode 版の場合は文字数)が返ります。

対応情報

Windows 95 以降 / Windows NT 3.1 以降