By default, a file is not a drop target. By providing a drop handler for the file types created by your application, you can make the files into drop targets. A drop handler must support both the IPersistFile and IDropTarget interfaces. The shell initializes a drop handler by calling the IPersistFile::Load member function. When the user drags an object over one of your application's files or drops an object onto one of its files, the system calls the appropriate member functions of the IDropTarget interface.
You register a drop handler by adding a DropHandler key and class identifier for the handler under the shellex key for the file type as shown in the followng example.
shellex
DropHandler = {00000000-1111-2222-3333-00000000000003}