1. 在窗体的头文件.h里声明处理函数和消息映射, 如: class TForm1 : public TForm { ... void __fastcall HandleDropFiles(TMessage &Owner; ... BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_DROPFILES,TMessage,HandleDropFiles) END_MESSAGE_MAP(TForm) }; 2. 在窗体的实现文件.cpp中, 添加代码 FormCreate事件响应中: void __fastcall TForm1::FormCreate(TObject *Sender) { ... DragAcceptFiles(Handle,true); ... } 最重要的处理函数HandleDropFiles: void __fastcall TForm1::HandleDropFiles(TMessage &msg) { char FileName[_MAX_PATH]; int i, Sum; // 获得拖拉的文件数目,该功能由第二个参数决定 Sum = DragQueryFile(HDROP(msg.WParam), 0xFFFFFFFF, NULL, 0); if(Sum > 0) { // 这里只要第一个文件 DragQueryFile(HDROP(msg.WParam), 0, FileName, _MAX_PATH); // 将文件路径显示于窗体上的Text控件 txtPath->Text = AnsiString(FileName); } // 释放应用程序为传递文件名而开辟的内存空间 DragFinish( HDROP(msg.WParam) ); }