4

Здравствуйте, у меня возник вопрос о возможности перетаскивания Outlook 2010 в различные приложения. В настоящее время я могу захватить вложения и бросить их на рабочий стол без проблем. Если дважды щелкнуть вложение в Outlook, оно откроется в соответствующем приложении по умолчанию. Там нет проблем. Я думаю, что происходит, когда файл временно сохраняется во временную папку, а затем открывается оттуда. Проблема в том, когда я пытаюсь перетащить вложение в другое приложение.

Примеры включают в себя текстовые документы в Notepad++, файлы CAD в AutoCAD и т.д. Эти приложения обычно можно перетаскивать прямо с рабочего стола и открывать файл напрямую. Вместо этого из Outlook я должен перетащить их на рабочий стол, а затем перетащить файлы рабочего стола в приложения. Многоэтапный процесс, требующий перемещения окон и т.д. Я хотел бы избежать этого, если это возможно.

Я предполагаю, что я спрашиваю, могу ли я, чтобы Outlook автоматически загружал свои вложения в постоянное местоположение и связывал их с электронной почтой, чтобы при перетаскивании и переходе непосредственно к моему приложению? Или даже если мне придется вручную загружать файлы каждого письма, просто откройте окно обозревателя этого места, чтобы я мог перетаскивать его оттуда?

3 ответа3

3

Когда приложение инициирует перетаскивание, оно указывает, что доступно для перетаскивания, помещая доступные форматы в объект IDataObject. Когда «цель перетаскивания» получает событие перетаскивания, она может запросить доступные форматы, чтобы узнать, может ли она принять данные.

Это довольно сложный процесс, и поэтому большинство целей перетаскивания принимает только самый базовый формат CF_HDROP, который, по-видимому, Outlook не предоставляет.

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

2

Если вы хотите перетащить вложения из Outlook в веб-приложение, вы можете установить надстройку Outlook2Web в Outlook. Я не думаю, что это работает с настольными приложениями, просто веб-приложениями.

1

Дополнительные полезные комментарии: https://connect.microsoft.com/IE/feedback/details/867235/html5-fileapi-file-input-does-not-support-dragging-and-dropping-from-outlook и библиотека Java для прием заявок http://www.wilutions.com/outldd/example.html

Tl; dr: Outlook не должен предоставлять CF_HDROP, потому что CF_HDROP применим только к файлам, которые существуют на локальном диске. Если бы он предоставил CF_HDROP, он должен был бы сначала скопировать файл на локальный диск, что было бы лагом.

Вместо этого другие цели удаления должны принимать то, что предоставляет Outlook , а именно:

  • CFSTR_FILECONTENTS
  • CFSTR_FILEDESCRIPTOR

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .