Событие при перетаскивании действительной цели кавычки за пределы приложения?

У меня есть очень простой метод, который записывает файл локально, но я хочу только запустить его, если пользователь выглядит так, как будто они будут выходить за пределы приложения, потому что стрельба при каждом перетаскивании приведет к большому количеству ненужных файлов написано.

Итак, мой вопрос: если пользователь перетаскивает что-то в приложении вне приложения, можно ли обнаруживать, когда они перетаскивают действительную цель кавычки (например, рабочий стол или проводник Windows)?

EDIT: на более общем уровне мой вопрос: как я могу реагировать на события мыши/перетаскивания, которые происходят вне моего приложения?

Ответ 1

Не совсем уверен, что именно вы пытаетесь достичь, но это может помочь:

WPF: перетащите виртуальные файлы в проводник Windows

По большей части события перетаскивания должны срабатывать независимо от того, куда вы переходите (я думаю), но вы можете быть уведомлены о том, когда капля была выполнена.

Как указано в @Quarzy, если вы не общаетесь с другим приложением, не может быть прямого способа тестирования данных, которые не отображаются в системе перетаскивания под Windows.

Более конкретно, этот вопрос указывает на эту статью: http://blogs.msdn.com/b/delay/archive/2009/11/04/creating-something-from-nothing-asynchronously-developer-friendly-virtual-file-implementation-for-net-improved.aspx

Я публикую это только потому, что мне интересно, может ли это привести к другим вещам, кроме того, вы могли бы получить Hwnd элемента управления под курсором - возможно http://social.msdn.microsoft.com/Forums/windows/en-US/3df9fc84-4020-4ae1-8b4f-942bce65568f/find-the-object-under-the-mouse?forum=winforms в качестве отправной точки.

Затем может быть способ запросить, является ли этот конкретный элемент управления допустимой целевой точкой сбрасывания посредством взаимодействия.

Удачи!

Ответ 2

Это может быть возможным ответом на ваш вопрос: Зарегистрировать глобальный крючок, чтобы определить, перетаскиваются ли мыши файлы/текст

Как бы ни помогло следующее предложение (требуется создать внешнюю библиотеку С++):

см. следующую ссылку: http://www.experts-exchange.com/Programming/Languages/CPP/Q_10203575.html