#define CF_FILES 15 #define GMEM_MOVEABLE 2 #define GMEM_ZEROINIT 64 Declare Long GlobalAlloc in Win32API Long uFlags, Long dwBytes Declare Long GlobalFree in Win32API Long hMem Declare Long GlobalLock in Win32API Long hMem Declare Long GlobalUnlock in Win32API Long hMem Declare RtlMoveMemory in Win32API Long lpDest, String @ lpStr, Long lLen Declare Long OpenClipboard in Win32API Long Declare Long CloseClipboard in Win32API Declare Long EmptyClipboard in Win32API Declare Long SetClipboardData in Win32API Long uFormat, Long hMem Declare Long GetLastError in Win32API * _DROPFILES structure s = Chr(20) + Replicate(Chr(0), 19) s = s + "c:\autoexec.bat" + Chr(0) s = s + "c:\config.sys" + Chr(0) + Chr(0) h = GlobalAlloc(GMEM_MOVEABLE+GMEM_ZEROINIT, LEN(s)) ptr = GlobalLock(h) RtlMoveMemory(ptr, s, LEN(s)) GlobalUnlock(h) If OpenClipboard(0) != 0 EmptyClipboard() SetClipboardData(CF_FILES, h) CloseClipboard() else GlobalFree(h) EndIf>Hilmar, thank you, but copying the name to the clipboard as a text item (CF_TEXT format) does not solve the problem. I need to be able to put an object of type CF_FILES onto the windows clipboard (for doing a copy function) and access such objects on the windows clipboard (for doing a paste function), just like you can do with getdata/setdata when using OLE drag-and-drop. Putting a text object on the clipboard that happens to be a file name is not sufficient.