我想使用ShellExecute,以便用户可以从他的默认电子邮件程序发送电子邮件; e.g。
const
CRLF = '%0D%0A';
var
Body: string;
begin
Body := 'Information from my program'+CRLF+
'that is put in the body of the email';
ShellExecute(Application.Handle, 'open', PChar('?Subject=My Subject&Body=' +
Body),nil, nil, SW_SHOWNORMAL);
我想用信息列格式化正文。我怎样才能放入白色空间?似乎%20将适用于单个空间 - 有时,但它不适用于行的开头或几个连续的空格。这''也不起作用:(
答案 0 :(得分:2)
在字符串中使用双引号(Chr(34)
):
Body := #34 + 'Information from my program' + CRLF +
'that is put in the body of the email' + #34;
ShellExecute(Application.Handle, 'open',
PChar('?Subject=My Subject&Body=' + Body), nil, nil, SW_SHOWNORMAL);
要排列这些列,您可以尝试而不是使用制表符(Chr(9)
) - 正如我在评论中所说,我无法让ShellExecute
工作使用Thunderbird在Windows 7上使用mailto
:
Body := #34 + 'Information from my program' + CRLF +
'that is put in the body of the email' + CRLF +
'Col1'#9'Col2'#9'Col3' + #34;
(使用Stuff
嵌入#9'更多东西'是'Stuff' + #9 + 'More Stuff'
,BTW的缩写。