Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to use the Shell IDList Array flavor of OLE Drag & Drop
Message
 
To
All
General information
Forum:
Visual FoxPro
Category:
Other
Title:
How to use the Shell IDList Array flavor of OLE Drag & Drop
Miscellaneous
Thread ID:
00694790
Message ID:
00694790
Views:
64
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.asp

Shell Clipboard Formats
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/Shell/programmersguide/shell_basics/shell_basics_programming/transferring/clipboard.asp

CIDA Structure
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/cida.asp

I'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
Montage

"Free at last..."
Reply
Map
View

Click here to load this message in the networking platform