Muchas gracias por vuestras rápidas respuestas. La solución en C++Builder es esta:
Código:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
// Para aceptar arrastrar archivos.
DragAcceptFiles(Handle,true);
// Asignación del procesador de mensajes para la aplicación y sus ventanas
Application->OnMessage = AppMessage;
}
Código:
// Procesar los mensajes de la aplicación
void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled)
{
// Procesar el mensaje WM_DROPFILES, aquí o en otra función a parte...
if(Msg.message == WM_DROPFILES){
char archivo[MAX_PATH];
int n = DragQueryFile((HDROP)Msg.wParam, 0, archivo, sizeof(archivo));
if(n>0) Procesar(archivo); // Funcion que procesa el archivo
DragFinish((HDROP)Msg.wParam);
Handled = true;
}
}
Saludos.