Steriosux
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Взываю к помощи посетителей этого топа ) Вопрос конечно ламерозный, но что поделаешь..., а вдруг кто поможет Наткнулся я тут на днях на однин исходник и вспомнил, что и самому такая прога давно уже нужна, и самое главное - искал раньше, нигде не мог найти готовой. Собсно прога должна выдирать автоматом с сохраненных eml писем аттачи и складывать в другую папку их, в исходнике вроде как раз то, что надо. Ну, не знаю я С++, ладно еще это.., скомпилить не слишком существенная проблема, компилил и на c++, когда сильно нужно было, но с этим ( Пришел в итоге здесь к выводу, что используется NET Framework, этой гадости для разработчиков у меня не имеется. Тут есть еще ошибки видимо, насколько я понял. #using <mscorlib.dll> - это вообще хз что.. CLSC TX_SERVER - это должно по идее слитно писаться... Посмотрите, плз, кто в этом разбирается ) Мож кто поможет скомпилить эту софтину? Цитирую, как было в оригинале: Цитата: Компилировалось в Visual C++ v7.0,Win 2000Pro. Проверено работает... Успехов // This is the main project file for VC++ application project // generated using an Application Wizard. #include "stdafx.h" #import "c:\program files\common files\system\ado\msado15.dll" no_namespace raw_interfaces_only #import <cdosys.dll> no_namespace raw_interfaces_only #include <iostream.h> #include <wchar.h> #using <mscorlib.dll> #include <tchar.h> using namespace System; // This is the entry point for this application int _tmain(int argc,char* argv[]) { // TODO: Please replace the sample code below with your own. CoInitialize(NULL); IDropDirectory* pDropDir = NULL; IMessages* pMsgs = NULL; IMessage* pMsg = NULL; IBodyParts* pBodys = NULL; IBodyPart* pBody = NULL; _Stream* pStream = NULL; long msgs_cnt = 0; long attach_cnt = 0; BSTR msg_name; BSTR fname; BSTR path_sav; CoCreateInstance(__uuidof(DropDirectory),NULL,CLSC TX_SERVER, __uuidof(IDropDirectory),(void**)&pDropDir); pDropDir->GetMessages(L"c:\\mailroot",&pMsgs); pMsgs->get_Count(&msgs_cnt);//кол-во сообщений в папке cout << "message count: " << msgs_cnt << endl; //проходим последовательно по всем письмам for(long i=1;i<=msgs_cnt;i++) { pMsgs->get_Item(i,&pMsg);//берем очередное письмо в каталоге pMsg->get_Attachments(&pBodys);//ссылка на тело приаттаченных файлов pBodys->get_Count(&attach_cnt);//количество приаттаченных файлов в мессаге for(long j=1;j<=attach_cnt;j++)//перебираем последовательно файлы и сохраняем их на диске { pBodys->get_Item(j,&pBody); pBody->get_FileName(&fname); cout << "Saved attached file " << _bstr_t(fname) << endl; pBody->GetDecodedContentStream(&pStream); path_sav = _bstr_t("c:\\mailroot\\")+fname; pStream->SaveToFile(path_sav,adSaveCreateOverWrite);//сохраняем файл }//end for j }//end for i CoUninitialize(); return 0; } | |