cpp
void __fastcall TForm1::ScanClipBoard() { void *Data; CloseClipboard(); bool b=OpenClipboard(Handle); Data = GetClipboardData(CF_HDROP); if(Data){ LPDROPFILES Buffer = (LPDROPFILES)GlobalLock(Data); wchar_t *Files = (wchar_t*)((DWORD)Buffer + Buffer->pFiles); Memo1->Lines->Clear(); while (*Files){ Memo1->Lines->Add(String(Files)); Files += wcslen(Files)+1; } GlobalUnlock( Data ); } CloseClipboard(); }
Os dejo una aplicación simple de ejemplo. Se trata de un Visor del ClipBoard aprovechando la API SetClipboardViewer para interceptar los mensajes WM_DRAWCLIPBOARD para actualizarse y capturar el contenido del ClipBoard. Lo que nos interesa ahora es leer los datos tipo CF_HDROP
Que le saquéis partido.
Saludos.