Событие при перетаскивании действительной цели кавычки за пределы приложения?
У меня есть очень простой метод, который записывает файл локально, но я хочу только запустить его, если пользователь выглядит так, как будто они будут выходить за пределы приложения, потому что стрельба при каждом перетаскивании приведет к большому количеству ненужных файлов написано.
Итак, мой вопрос: если пользователь перетаскивает что-то в приложении вне приложения, можно ли обнаруживать, когда они перетаскивают действительную цель кавычки (например, рабочий стол или проводник 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
Ответ 3
Здесь вы также можете ответить Как я могу захватить события мыши, которые происходят за пределами окна (WPF)?
Но я не вижу никакого способа определить, действительна ли цель, если у вас нет связи с потенциальными целями.