Ed,
After playing around yesterday with the Shell.Application, about all I can say is...sigh! It's probably easiest to explain what happend and my reaction to it. Null, BTW, was a total bust.
After finding the CSIDL for recycle bin (CSIDL_BITBUCKET 0x0A) I was able to get an object reference for the recycle been. I then created a junk folder and copied a file into it. I then issued the MoveHere command against the folder. An sure enough it was gone. Cool, I thought. Then I checked the recyle bin and it wasn't there. Very cool, I thought, didn't show up here. Being a "good little programmer", I decided to do a search on the local drive to make absolutely positive that it was gone.
Unfortunately, it wasn't it had been moved directly beneath my main VFP 7.0 directory, which is where I issued the command from.
My next thought was to try adding the FOF_ALLOWUNDO parameter (0x40) thinking that this might cause it to be sent to the bit bucket, so after cutting and pasting the folder back to its original location the, I tried that. Once again, the folder was removed, and once against was moved beneath my VFP main.
I next tried moving just the files. This time they ended up in the main VFP 7.0 directory. Drat!
My next thought was to try to figure out where the problem was, so I created a VBScript file to do the test. In this case, they didn't end up in the main VFP directory...the ended up either beneath the folder the script was in or in the folder.
I guess that answers that. Your wrapper is the only way to go.
George
Ubi caritas et amor, deus ibi est