MAPI
-
Hallo,
ich habe da ein Problem...
und zwar möchte ich lernen die MAPI zu verstehen nur leider finde ich dazu nur
MFC Tutorials und da ich da nicht durchsteige wollte ich nun einmal euch fragen, ob jemand so nett wäre mir ein kleines Sample Code Proggy zu basteln, was ohn MFC eine E-Mail ausliest ( aus Outlook Express ) und den Text ausgibt.Das sollte nicht viel sein wie ich es in den anderen Beispiel anwendungen gesehen habe !
Oder hat jemand ein gutes Deutsches Tutorial zu dem Thema (ohne MFC)?
Vielen Dank !
-
Immer diese verdammten MFC user..
und scheiss MFC..irgendwie finde ich auch immer keinen winapi-tuts sondern immer nur scheiss mfc- und vb-tutorials in übermengen.
Es könnte daran liegen, dass mfc unf vb von dümmeren genutzt werden und diese halt mehr tuts erstellen / erfragen / etc...
-
Jo das stimmt schon aber das bringt mich leider auch nicht wirklich weiter

-
Hallo,
vielleicht als Ausgangspunkt für "weitere Studien"
:http://support.microsoft.com/?kbid=171096
http://support.microsoft.com/?kbid=239795
MfG
-
Gibts Mapi.dll auf allen NTs oder muss man die DLL gegebenenfalls nachinstallieren?
Ich dachte immer MAPI-Applikationen seien mist, weil sie sehr abhängig sind und die dll nicht immer da ist.
Wie ist es nun??
-
MAPI.DLL ist auf ALLEN gängigen Windows Versionen verfügbar.
Mapi ist ja nciht nur für e-mails da und wird auch von sehr vielen MS_Proggies wie outlook benutzt.Eine Eigenschaft für die MAPI.dll bekannt ist ist die Portablität, da sie gerade auf ALLEN Windows Plattformen problemlos funktioniert ;))
Mfg Tolga.
-
Hi !
Danke erstmal für die 2 links !
Ich hab nun nur ein Problem...
undzwar ist der erste link genau das was ich will !
Das Problem daran ist, dass es Speicher fehler verursacht...
Ich habe VC++ 6.0
Dies ist die für mich wichtige funktion die nen Speicher fehler verursacht (Nicht abgefangene Ausnahme in swap.exe: 0xC0000005: Access Violation.)
STDMETHODIMP CApp::cFindMessageID ( LPTSTR SeedMsgID, FLAGS flFlags, LPTSTR *prgchMsgID ) { HRESULT hRes = S_OK; ULONG ulReserved = 0L; char rgchMsgID[MAX_MSGID]; hRes = m_MAPIFindNext ( m_lhSession, // Global session handle 0L, // Parent window. Set to 0 since console app NULL, // NULL specifies interpersonal mail message SeedMsgID, // Seed message ID; NULL == get first message flFlags, ulReserved, // Reserved. Must be 0L rgchMsgID ); if ( hRes == MAPI_E_NO_MESSAGES ) { printf ( "No messages to print.\r\n" ); } if ( hRes != SUCCESS_SUCCESS && hRes != MAPI_E_NO_MESSAGES ) { printf ( "Call to MAPIFindNext failed due to error code %d.\r\n", hRes ); switch ( hRes ) { case MAPI_E_FAILURE: printf ( "One or more unspecified errors occurred while matching the message type. The call failed before message type matching could take place.\r\n" ); break; case MAPI_E_INSUFFICIENT_MEMORY: printf ( "There was insufficient memory to proceed. No message was found.\r\n" ); break; case MAPI_E_INVALID_MESSAGE: printf ( "An invalid message identifier was passed in the lpszSeedMessageID parameter. No message was found.\r\n" ); break; case MAPI_E_INVALID_SESSION: printf ( "An invalid session handle was passed in the lhSession parameter. No message was found.\r\n" ); break; default: printf ( "Unknown error code.\r\n" ); break; } } else { MAPIAllocateBuffer (strlen ( rgchMsgID )+1, (LPVOID *) prgchMsgID ); strcpy ( *prgchMsgID, rgchMsgID ); } return hRes; }Der fehler tritt hier auf:
strcpy ( *prgchMsgID, rgchMsgID );
Aufgerufen wird die funktion so:
if ( SUCCESS_SUCCESS == ( hRes = cFindMessageID ( NULL, MAPI_LONG_MSGID | MAPI_UNREAD_ONLY, &prgchMsgID ) ) )Dort ist prgchMsgID so declariert:
STDMETHODIMP CApp::cReadMail ( ULONG ReadFlags, LPTSTR prgchMsgID )Kann mir jemand bei der lösung helfen ?