DragQueryFile(A)

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

UINT DragQueryFileA(
    HDROP  hDrop,   // internal structure handle
    UINT   iFile,   // file index
    PTSTR  pszFile, // buffer for file name
    UINT   cch      // buffer size
);

SHELL32.DLL

引数

hDrop

ドロップされたファイルを表す内部構造体のハンドルを指定します。この値はWM_DROPFILESメッセージのwParamパラメータとして得られるハンドルです。

iFile

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

pszFile

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

cch

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

戻り値

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

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

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

対応情報

Windows 95 以降 / Windows NT 3.1 以降