如何在.NET中使用MAPI时处理用户访问控制

时间:2008-12-18 16:13:35

标签: .net windows-vista uac mapi

我已经使用MAPI从我的应用程序创建带附件的电子邮件,它在XP和Vista(没有UAC)上运行良好。当然,如果您启用了UAC,它就不起作用(虽然它没有错误,也没有提示用户继续允许)。

我做了很多阅读,发现了很多不同的想法:

  • 需要应用的管理员权限
  • 需要某种形式的升高 应用程序的权限
  • 为小型创建COM对象 需要的部分代码 海拔
  • 获取操作系统以提示用户 问他们是否愿意 继续。

我想知道SO用户会做什么,因为我真的只需要提升一两个功能。我在这里寻找最小的痛苦(我不做COM,但我可以P / Invoke与他们中最好的...),我在.NET 2.0(它是一个遗留的应用程序)工作

编辑: 我同意提升整个应用程序并不是一个好主意,因为只有部分应用程序需要升级,但从长远来看,我的想法可能比仅试图提升其中的一部分更容易。

另外,我宁愿远离.NET SMTP解决方案,因为我的目标只是创建一条消息和附件,但是将其显示给用户,以便他们可以添加更多文本并将其发送给他们休闲...

1 个答案:

答案 0 :(得分:0)

如果您可以放弃MAPI支持更通用的SMTP,则可以使用.NET的System.Net.Mail.SmtpClient类。 与MailMessage课程一起,您可以添加attachments并通过任何愿意SMTP服务器发送消息。

所有可用旧版.NET 2.0作为托管代码 - 不需要p / invoke或COM。 引用页面中的示例。