Registers the specified window as a window that can be the target of an OLE drag and drop operation and specifies the IDropTarget instance to use for drop operations.

HRESULT RegisterDragDrop(

HWND hwnd,
//Window that can accept drops
IDropTarget * pDropTarget
//Points to the IDropTarget interface



Specifies the handle to a window that can be a target for an OLE drag and drop operation.


Specifies the IDropTarget instance to use for communicating OLE drag and drop information for the specified window.

Return Values


Indicates the application was registered successfully.


Indicates invalid handle returned in the hwnd parameter.


Indicates the specified window has already been registered as a drop target.


Indicates out of memory.


If your application can accept dropped objects during OLE drag and drop operations, you must call the RegisterDragDrop function. Do this whenever one of your application windows is available as a potential drop target, i.e., when the window appears unobscured on the screen.

The RegisterDragDrop function only registers one window at a time, so you must call it for each application window capable of accepting dropped objects.

As the mouse passes over unobscured portions of the target window during an OLE drag and drop operation, the DoDragDrop function calls the specified IDropTarget::DragOver method for the current window. When a drop operation actually occurs in a given window, the DoDragDrop function calls IDropTarget::Drop.

The RegisterDragDrop function also calls the IUnknown::AddRef method for your drop target interface.

See Also


Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database