小编use*_*436的帖子

WIndows MAPI unicode问题

在我看来,MAPI(Windows Mail API)存在UTF8问题(或者我做错了).

代码示例:

HMODULE m_hLib = LoadLibraryA("MAPI32.DLL");
if (m_hLib == NULL)
    return SEND_MAIL_CANCELED;
LPMAPISENDMAIL SendMail;
SendMail = (LPMAPISENDMAIL) GetProcAddress(m_hLib, "MAPISendMail");
if (!SendMail)
    return;

MapiFileDesc fileDesc;
ZeroMemory(&fileDesc, sizeof(fileDesc));
fileDesc.nPosition = (ULONG) -1;
fileDesc.lpszPathName = (LPSTR) filePath.toUtf8();
fileDesc.lpszFileName = (LPSTR) fileName.toUtf8();

MapiRecipDesc recipientData;
ZeroMemory(&recipientData, sizeof(recipientData));
recipientData.lpszName = (LPSTR) recipient.toUtf8();
recipientData.ulRecipClass = MAPI_TO;

MapiMessage message;
ZeroMemory(&message, sizeof(message));
message.ulReserved = CP_UTF8;
message.lpszSubject = (LPSTR) title.toUtf8();
message.nFileCount = 1;
message.lpFiles = &fileDesc;
message.nRecipCount = 1;
message.lpRecips = &recipientData;

int nError = SendMail(0, NULL, &message, …
Run Code Online (Sandbox Code Playgroud)

windows unicode mapi winapi

3
推荐指数
1
解决办法
3324
查看次数

标签 统计

mapi ×1

unicode ×1

winapi ×1

windows ×1