procedure TfrmFileTools.DropFiles(var Msg: TMessage); var i, Count: integer; buffer: array[0..MAX_PATH - 1] of Char; begin if Msg.Msg = WM_DropFiles then begin Count := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, MAX_PATH); // 第一次调用得到拖放文件的个数 for i := 0 to Count - 1 do begin buffer[0] := #0; DragQueryFile(Msg.WParam, i, buffer, sizeof(buffer)); // 第二次调用得到文件名称 rtbFilesList.Lines.Add(buffer); end; end else OLDWndProc(Msg); end;