Prøv noget i retningen af:
[DllImport("mapi32.dll")] public static extern int MAPISendMail(int lhSession, ulong ulUIParam, int lpMessage, int flFlags, int ulReserved);
Senere...
MAPISendMail(0, (ulong)this.Handle, [pointer til en MapiMessage structure], 0, 0);
Du bliver muligvis nødt til at bruge noget unsafe kode til at lave din MapiMessage structure.
Definitionen findes her:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mapi/html/_mapi1book_mapimessage_simple_mapi_.aspJeg har desværre ingen ide om hvordan du skal bære dig ad med at lave en MapiMessage structure.
En løsning kunne være at lave en halv-managed DLL i Managed C++:
#using <mscorlib.dll>
#include <mapi.h>
namespace DitProjekt
{
class MailSender
{
public:
static int SendMail(System::String subject, System::String to, System::String attachments)
{
lpMapiMessage mm;
mm.lpszSubject = subject; // Ikke sikker på om man kan konvertere en managed string til unmanaged...
// osv...
}
};
};
Kompiler med:
cl.exe /clr /LD dinfil.cpp
Jeg er ikke særlig sikker i C++, men jeg håber du kan bruge koden til noget...
// Simon