Я не верю, что есть какой-либо документированный способ.
Вы можете отправить WM_DROPFILES
, но для этого (1) необходимо заранее поместить имя файла в недокументированную структуру HDROP в памяти целевого процесса.и (2) является более старым методом приема файлов, он не будет работать, если приложение использует более новые IDropTarget
API.
IDropTarget
на самом деле имеет более общий характер, чем просто перетаскивание файлов изИсследователь: есть Win32 API, DoDragDrop
, который позволяет приложению действовать как источник перетаскивания, чтобы пользователь мог перенести свои данные в другие приложения.К сожалению, DoDragDrop
непосредственно наблюдает за движением мыши, поэтому вам нужно смоделировать движение мыши и отпускание кнопки, чтобы контролировать, куда упал элемент.Даже это не будет работать, если другое окно не находится сверху z-порядка, так как DoDragDrop
находит окно под курсором и будет мешать любой активности мыши, которую делает пользователь.Так что это следует использовать в качестве крайней меры.