请问!如何在vc的对话框中调用outlook发电子邮件!

hsdly 2001-12-01 07:28:27
...全文
944 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
leepiaoping 2001-12-03
  • 打赏
  • 举报
回复
use API function :
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
功能相当强大,实现也很简单的
wby 2001-12-03
  • 打赏
  • 举报
回复
各位大哥,若是网络方面的高手,请看看小弟的贴,一个让博士都挠头的问题!http://www.csdn.net/expert/topic/400/400942.shtm
hsdly 2001-12-03
  • 打赏
  • 举报
回复
讲清楚一点好吗?
xWolf 2001-12-03
  • 打赏
  • 举报
回复
可以用CreateProcess
wglacier 2001-12-02
  • 打赏
  • 举报
回复
不知
hsdly 2001-12-02
  • 打赏
  • 举报
回复
我没办法发给你的,它们是两个独立的工程,但是同一个项目的不同部分,我要做的只是把它们组装的一起,但是我又不想用ShellExecute(……),不知道我有没有说清楚!
wglacier 2001-12-02
  • 打赏
  • 举报
回复
给我看看,最好写点儿说明。
ghz1021@263.net
hsdly 2001-12-02
  • 打赏
  • 举报
回复
两个工程是同一个项目,但是我做的时候,给分成了两部分,现在完工了,我想把它们放在一起,但是我又不想用ShellExecute(……),可以用其它的方法吗?
wglacier 2001-12-02
  • 打赏
  • 举报
回复
合并是什么意思
hsdly 2001-12-02
  • 打赏
  • 举报
回复
谢谢,^0^,再问你个问题好吗?我想把两个都做好的工程合并,但我不想用ShellExecute(……)有其他的办法吗?
wglacier 2001-12-02
  • 打赏
  • 举报
回复
不是你笨,这个确实有点儿麻烦,当初我弄的时候也费了好半天劲儿,呵呵。
这段代码可以用了,别忘了在包含头文件
#include "mapi.h"

void CTestMapiDlg::OnButton1()
{
HMODULE hMod = LoadLibrary("MAPI32.DLL");

if (hMod == NULL)
{
AfxMessageBox(AFX_IDP_FAILED_MAPI_LOAD);
return;
}

ULONG (PASCAL *lpfnSendMail)(ULONG, ULONG, MapiMessage*, FLAGS, ULONG);
(FARPROC&)lpfnSendMail = GetProcAddress(hMod, "MAPISendMail");

if (lpfnSendMail == NULL)
{
AfxMessageBox(AFX_IDP_INVALID_MAPI_DLL);
return;
}

ASSERT(lpfnSendMail != NULL);

TCHAR szPath[_MAX_PATH] = "C:\\Winnt\\setup.log";
TCHAR szTitle[_MAX_PATH] = "setup.log";

// prepare the file description (for the attachment)
MapiFileDesc fileDesc;
memset(&fileDesc, 0, sizeof(fileDesc));
fileDesc.nPosition = (ULONG)-1;

fileDesc.lpszPathName = szPath;
fileDesc.lpszFileName = szTitle;

// prepare the message (empty with 1 attachment)
MapiMessage message;
memset(&message, 0, sizeof(message));
message.nFileCount = 1;
message.lpFiles = &fileDesc;

int nError = lpfnSendMail(0, 0,
&message, MAPI_LOGON_UI|MAPI_DIALOG, 0);

// after returning from the MAPISendMail call, the window must
// be re-enabled and focus returned to the frame to undo the workaround
// done before the MAPI call.
if (nError != SUCCESS_SUCCESS &&
nError != MAPI_USER_ABORT && nError != MAPI_E_LOGIN_FAILURE)
{
AfxMessageBox(AFX_IDP_FAILED_MAPI_SEND);
}
}
wglacier 2001-12-02
  • 打赏
  • 举报
回复
还是用这个吧,简单得很
ShellExecute(NULL,NULL,"mailto:email@263.net",NULL,NULL,SW_SHOW);
hsdly 2001-12-02
  • 打赏
  • 举报
回复
to:ghz(浪子) 
你还会帮忙吗?
hsdly 2001-12-02
  • 打赏
  • 举报
回复
我太笨了,我还是没弄出来,我先把分给了,我会继续弄的!
wglacier 2001-12-02
  • 打赏
  • 举报
回复
叫MAPISendMail
hsdly 2001-12-02
  • 打赏
  • 举报
回复
在msdn中找不到lpfnSendMail这个函数
hsdly 2001-12-02
  • 打赏
  • 举报
回复
时我没说清楚吗?
hsdly 2001-12-01
  • 打赏
  • 举报
回复
to:ghz(浪子) 
我还是没有解决掉这个问题,明天一定努力,今天没时间了。谢谢你了
dog_dog 2001-12-01
  • 打赏
  • 举报
回复
study
wglacier 2001-12-01
  • 打赏
  • 举报
回复
拜托,你好好看看那些代码,不要都copy进来吗
加载更多回复(9)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧