Могу ли я получить назначение / цель вызова DoDragDrop?
У меня есть приложение WPF. Я хочу позволить пользователям перетаскивать "файлы" (или их визуальное представление) из моих окон WPF в настоящий проводник Windows.
Это мне удалось сделать с помощью родного DoDragDrop из Ole32.dll
[DllImport("ole32.dll", CharSet = CharSet.Auto, ExactSpelling = true, PreserveSig = false)]
public static extern void DoDragDrop(System.Runtime.InteropServices.ComTypes.IDataObject dataObject IDropSource dropSource, int allowedEffects, int[] finalEffect);
Это прекрасно работает.
Но вместо этого скопируйте файл, я хочу просто получить пункт назначения. т.е. если пользователь перетащил файл в проводник, открытый в C:\Folder - я хочу получить C:\Folder... Или, по крайней мере, получить объект, с которым произошло событие удаления (которое находится за пределами моего приложения), и надеюсь, тогда я смогу получить путь от этого объекта.
1 ответ
Если вы не создали целевое и конечное приложения, вы не сможете получить информацию о целевом или целевом приложении. Эта информация абстрагирована от дизайна и ограничена.
Предостережение: если вы не напишите какой-либо метод перехвата или инъекции Dll, чтобы подключить события перетаскивания и отслеживать их