我想通过 ShellExecute 函数启动默认的电子邮件客户端应用程序。
即我写这样的东西:
ShellExecute(0, 'mailto:example@example.com?subject=example&body=example', ...);
如何在主题和正文中编码非美国字符?
我不能使用默认的 ANSI 代码页,因为字符可以是任何字符:中文字符、西里尔字符或其他字符。
PS注意事项:
- 我正在使用 ShellExecuteW 函数。
- 保留“原样”的主题和正文将不起作用(在 Win7 上使用 Windows Live Mail 客户端和在 WinXP 上使用 Outlook Express 进行测试)。
- 将主题编码为 URLEncode(UTF8Encode(Subject)) 将适用于 Windows Live Mail,但不适用于 Outlook Express。
- URLEncode(UTF8Encode(Body)) 不适用于两个客户端。