Hallo,
wenn ich mit dem folgenden Code ein Email versenden will, Dann funzt das zwar unter Win 2000 und me jedoch nicht mit Win9x. Kann mir jemand sagen, was ich falsch mache?
Danke im voraus.
ube
<HR size="1" color="#dedfdf">
<FONT SIZE="2" FACE="Verdana, Arial">
<pre class="CppCode">
<b class="Keyword">char</b> *c = calloc(7,MAX_PATH);
<b class="Keyword">char</b> *cTemp = c + MAX_PATH;
GetTempPath(MAX_PATH,c);
GetTempFileName(c,"tmp",NULL,cTemp);
<b class="Keyword">if</b>(Speichern(hEditWnd,cTemp)){
HMODULE hlibMAPI = LoadLibrary("MAPI32.DLL");
<b class="Keyword">if</b>(hlibMAPI){
LPMAPILOGON MAPILogon = (LPMAPILOGON) GetProcAddress(hlibMAPI,"MAPILogon");
LPMAPISENDMAIL MAPISendMail = (LPMAPISENDMAIL)GetProcAddress(hlibMAPI,"MAPISendM ail");
LPMAPILOGOFF MAPILogoff = (LPMAPILOGOFF) GetProcAddress(hlibMAPI,"MAPILogoff");
<b class="Keyword">unsigned</b> <b class="Keyword">long</b> hSession;
MapiMessage Message = {0};
MapiFileDesc Files = {0};
MapiRecipDesc Recips = {0};
<b class="Comment">//
</b> <b class="Keyword">if</b>(MAPILogon(0,NULL,NULL,0,0,&hSession) == SUCCESS_SUCCESS){
<b class="Keyword">char</b> *cName = c + (MAX_PATH * 2);
<b class="Keyword">char</b> *cAdresse = c + (MAX_PATH * 3);
<b class="Keyword">char</b> *cBetreff = c + (MAX_PATH * 4);
<b class="Keyword">char</b> *cText = c + (MAX_PATH * 5);
<b class="Keyword">char</b> *cFileName = c + (MAX_PATH * 6);
<b class="Keyword">unsigned</b> <b class="Keyword">long</b> ulRet;
<b class="Comment">//
</b> <b class="Keyword">if</b>(szFileName[0] == 0){
LoadString(hInst,11,cFileName,80);
strcat(cFileName,".txt");
}
<b class="Keyword">else</b> strcpy(cFileName,szFileName);
<b class="Comment">//
</b> Files.nPosition = -1;
Files.lpszFileName = cFileName;
Files.lpszPathName = cTemp;
<b class="Comment">//
</b> strcpy(cName,"Test");
strcpy(cAdresse,"[email protected]");
strcpy(cBetreff,"Test");
strcpy(cText,"Das ist ein Test");
<b class="Comment">//
</b> Recips.ulRecipClass = MAPI_TO;
Recips.lpszName = cName;
Recips.lpszAddress = cAdresse;
<b class="Comment">//
</b> Message.lpszSubject = cBetreff;
Message.lpszNoteText = cText;
Message.nRecipCount = 1;
Message.lpRecips = &Recips;
Message.nFileCount = 1;
Message.lpFiles = &Files;
<b class="Comment">//
</b> ulRet = MAPISendMail(hSession,(ULONG)hWnd,&Message,MAPI_DI ALOG | MAPI_LOGON_UI | MAPI_NEW_SESSION,0);
<b class="Keyword">if</b>(ulRet == SUCCESS_SUCCESS) MsgBox(hWnd,22,cFileName,NULL,MB_ICONSTOP);
}
<b class="Comment">//
</b> DeleteFile(cTemp);
MAPILogoff(hSession,0,0,0);
FreeLibrary(hlibMAPI);
}
<b class="Keyword">else</b> MsgBox(hWnd,21,NULL,0,MB_ICONSTOP);
}
free(c);</pre>
</FONT>
wenn ich mit dem folgenden Code ein Email versenden will, Dann funzt das zwar unter Win 2000 und me jedoch nicht mit Win9x. Kann mir jemand sagen, was ich falsch mache?
Danke im voraus.
ube
<HR size="1" color="#dedfdf">
<FONT SIZE="2" FACE="Verdana, Arial">
<pre class="CppCode">
<b class="Keyword">char</b> *c = calloc(7,MAX_PATH);
<b class="Keyword">char</b> *cTemp = c + MAX_PATH;
GetTempPath(MAX_PATH,c);
GetTempFileName(c,"tmp",NULL,cTemp);
<b class="Keyword">if</b>(Speichern(hEditWnd,cTemp)){
HMODULE hlibMAPI = LoadLibrary("MAPI32.DLL");
<b class="Keyword">if</b>(hlibMAPI){
LPMAPILOGON MAPILogon = (LPMAPILOGON) GetProcAddress(hlibMAPI,"MAPILogon");
LPMAPISENDMAIL MAPISendMail = (LPMAPISENDMAIL)GetProcAddress(hlibMAPI,"MAPISendM ail");
LPMAPILOGOFF MAPILogoff = (LPMAPILOGOFF) GetProcAddress(hlibMAPI,"MAPILogoff");
<b class="Keyword">unsigned</b> <b class="Keyword">long</b> hSession;
MapiMessage Message = {0};
MapiFileDesc Files = {0};
MapiRecipDesc Recips = {0};
<b class="Comment">//
</b> <b class="Keyword">if</b>(MAPILogon(0,NULL,NULL,0,0,&hSession) == SUCCESS_SUCCESS){
<b class="Keyword">char</b> *cName = c + (MAX_PATH * 2);
<b class="Keyword">char</b> *cAdresse = c + (MAX_PATH * 3);
<b class="Keyword">char</b> *cBetreff = c + (MAX_PATH * 4);
<b class="Keyword">char</b> *cText = c + (MAX_PATH * 5);
<b class="Keyword">char</b> *cFileName = c + (MAX_PATH * 6);
<b class="Keyword">unsigned</b> <b class="Keyword">long</b> ulRet;
<b class="Comment">//
</b> <b class="Keyword">if</b>(szFileName[0] == 0){
LoadString(hInst,11,cFileName,80);
strcat(cFileName,".txt");
}
<b class="Keyword">else</b> strcpy(cFileName,szFileName);
<b class="Comment">//
</b> Files.nPosition = -1;
Files.lpszFileName = cFileName;
Files.lpszPathName = cTemp;
<b class="Comment">//
</b> strcpy(cName,"Test");
strcpy(cAdresse,"[email protected]");
strcpy(cBetreff,"Test");
strcpy(cText,"Das ist ein Test");
<b class="Comment">//
</b> Recips.ulRecipClass = MAPI_TO;
Recips.lpszName = cName;
Recips.lpszAddress = cAdresse;
<b class="Comment">//
</b> Message.lpszSubject = cBetreff;
Message.lpszNoteText = cText;
Message.nRecipCount = 1;
Message.lpRecips = &Recips;
Message.nFileCount = 1;
Message.lpFiles = &Files;
<b class="Comment">//
</b> ulRet = MAPISendMail(hSession,(ULONG)hWnd,&Message,MAPI_DI ALOG | MAPI_LOGON_UI | MAPI_NEW_SESSION,0);
<b class="Keyword">if</b>(ulRet == SUCCESS_SUCCESS) MsgBox(hWnd,22,cFileName,NULL,MB_ICONSTOP);
}
<b class="Comment">//
</b> DeleteFile(cTemp);
MAPILogoff(hSession,0,0,0);
FreeLibrary(hlibMAPI);
}
<b class="Keyword">else</b> MsgBox(hWnd,21,NULL,0,MB_ICONSTOP);
}
free(c);</pre>
</FONT>
Comment