I'm experimenting with data formats that can be used to drag and drop objects to and from the Windows desktop and elsewhere in the filing system. The CF_FILES (aka CF_HDROP) format is OK for "normal" files and directories, but GetFormat indicates that another format, "Shell IDList Array" (aka CFSTR_SHELLIDLIST in shlobj.h), is required to deal with objects like "My Computer" and a variety of other special Windows folders, Control Panel applets, etc. Does anyone know if VFP can use this format, and if so how?
What I've been able to determine thus far is that GetData() returns a character string, which I believe is a CIDA structure, i.e. sort of array of PIDLs (pointers to item identifier lists), or maybe the structure contains the actual ITEMIDLISTs directly. In any case, my objective is to decipher the result from GetData("Shell IDList Array"), so that I can identify the items that were dropped. Then I'd like to create a sort of VFP-based "shortcut" that can launch each of those items, e.g. via ShellExecute or some other appropriate mechanism.
Here are some relevant references:
The Shell Namespace
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/namespace.aspShell Clipboard Formats
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/Shell/programmersguide/shell_basics/shell_basics_programming/transferring/clipboard.aspCIDA Structure
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/cida.aspI've tried searching for information about doing this sort of stuff through VFP, and found surprisingly little on the subject, so I thought I'd pause for a little reality check. Am I on the right track? Is this doable from VFP? Any guidance would be appreciated!
Mike