Добрый день!

Пытаюсь перетащить письмо из клиента Mozilla Thunderbird в разрабатываемое приложение и столкнулся с тем, что стандартная WinApi функция DragQueryFile возвращает неверную ссылку на файл.

char szDroppedFile[MAX_PATH];
DragQueryFile(hDrop, 0, szDroppedFile, MAX_PATH);

В szDroppedFile возвращается путь типа: "C:\Users\username\AppData\Local\Temp\subject.eml"

Но по этому пути нет письма subject.eml!

Честно говоря, не знаю каким образом извлечь нужное мне письмо, может быть есть у кого-нибудь какие-нибудь идеи?

RomanA, перетащите письмо например на рабочий стол, убедитесь, что это работает (лично у меня - работает), если работает - проблема в вашем приложении, исправьте ее ;)

Dzirt пишет

RomanA, перетащите письмо например на рабочий стол, убедитесь, что это работает (лично у меня - работает), если работает - проблема в вашем приложении, исправьте ее ;)

На рабочий стол работает.

При этом, если я перетаскиваю файл с рабочего стола в приложение, то тоже все работает, а если из Thunderbird, то нет.

Собственно, чтобы исправить ошибку, надо понять что не так. Есть какая-нибудь техническая документация о том, как Thunderbird предоставляет файл при перетаскивании?

Хммм... поставил точку останова после вычитывания содержимого файла. Файл вычитался и появился на диске.

Вопрос о том как отлавливать drag из Thunderbird снимаю.

Но если есть ссылки на тех. документацию, то с удовольствием почитал бы! ;)

RomanA пишет

Но если есть ссылки на тех. документацию, то с удовольствием почитал бы!

MSDN, ничего нестандартного из Drag-n-Drop в Thunderbird нет, да и было бы странно, если бы было. Соответственно никаких "специальных" описаний тоже не существует.