请教如何用Delphi调出outlook那样的email窗口?(200分)

  • 主题发起人 主题发起人 qlwy
  • 开始时间 开始时间
Q

qlwy

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中,我想单击一个按钮,调出象outlook那样的email窗口,就好象单击超链接Email地址时产生的那样的窗口,请问该如何实现?
 
uses shellapi;
Shellexecute(handle,nil,pchar('mailto:oldcatpc@263.net'),nil,nil,sw_shownormal);
 
补充一句,这样调用的就是你默认的Email软件,而不是“象outlook那样的email窗口”——
网页上“单击超链接Email地址”也一样。
 
WJIACHUN的说法比较准确
另也可以用UrlLabel控件,很简单!还可以有超链接的视觉!
 
老是用shellexecute有什么意思?
var
MapiMessage: TMapiMessage;
MError: Cardinal;
begin
with MapiMessagedo
begin
ulReserved := 0;
lpszSubject := nil;
// lpszNoteText := PChar(RichEdit1.Lines.Text);
lpszNoteText := PChar('****');
lpszMessageType := nil;
lpszDateReceived := nil;
lpszConversationID := nil;
flFlags := 0;
lpOriginator := nil;
nRecipCount := 0;
lpRecips := nil;
nFileCount := 0;
lpFiles := nil;
end;

MError := MapiSendMail(0, 0, MapiMessage,
MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0);
if MError <> 0 then
MessageDlg(SSendError, mtError, [mbOK], 0);
还可以自己对错误进行处理
 
给你个控件吧。
http://www.ex-sun.com/ridolph/email.zip
 
还是wjiachun 的方法实用
用一个TLabel的Cpation 显示'写信给我' 在OnClick中写下
Shellexecute(handle,nil,pchar('mailto:xxx@xxx.xxx'),nil,nil,sw_shownormal);
再在OnMouseMove中写下
label1.Font .color:=clBlue;
不就是一个很好的超连接吗
 
ShellExecute很方便吧!至少我喜欢用!
 
多人接受答案了。
 
在ShellExecute里加个"mailto:"不就OK了吗!!又简单又好
 
我用MAPI ,直接弹出OUTLOOK的问题里的程序时,OUTLOOK 的新邮件的界面好象被锁定,不知道如何才能解决,谢谢
 
后退
顶部