Introduction - If you have any usage issues, please Google them yourself
Have you noticed the cool ghost image that Windows Explorer produces when you start dragging files/folders from it? Well, I wanted to implement this in a C# project when dragging files between it and Windows Explorer. After a lot of Googling, I found out that there are three directions to start working on, as follows:
Using a "custom" cursor created from a MemoryStream initialized from an Image, as shown in this article.
Using the ImageList_BeginDrag and related APIs, as shown in this article: Dragging tree nodes in C#.
Using the IDragSourceHelper and IDropTargetHelper interfaces.
Packet : 69491708ghost_drag_image.zip filelist
DragDropHelper/
DragDropHelper.sln
DragDropHelper/App.ico
DragDropHelper/AssemblyInfo.cs
DragDropHelper/bin/
DragDropHelper/bin/Release/
DragDropHelper/bin/Release/DragDropHelper.exe
DragDropHelper/bin/Release/ShellUtils.dll
DragDropHelper/DragDropHelper.csproj
DragDropHelper/DragDropHelper.csproj.user
DragDropHelper/Form1.cs
DragDropHelper/Form1.resx
ShellUtils/
ShellUtils/AssemblyInfo.cpp
ShellUtils/DataObj.Cpp
ShellUtils/DataObj.h
ShellUtils/DragDropHelper.cpp
ShellUtils/DragDropHelper.h
ShellUtils/Enumfe.Cpp
ShellUtils/Enumfe.h
ShellUtils/Release/
ShellUtils/ShellUtils.vcproj
ShellUtils/Stdafx.cpp
ShellUtils/Stdafx.h