![](/img/trans.png)
[英]How do I remove a COM+ component from a COM+ application programmatically
[英]Automate Outlook from COM+
我需要实现以下目标
1-将电子邮件另存为草稿,用户以后可以手动打开,修改和发送
2-撰写电子邮件并打开Outlook作为新电子邮件,然后允许用户在那里发送或丢弃
有使用Microsoft.Office.Interop.Outlook
和SmtpClient
示例代码。 我相信SmtpClient
无法自动执行Outlook。 而且,对于第二个选项,我不想添加Microsoft.Office.Interop.Outlook
引用,因为如果未安装Office Outlook怎么办!
因此,请指导我进一步阅读。
编辑
不使用引用将确保即使未安装Outlook也可以打开表单,可以通过在之后检查oType
是否为null来进行检查。
Type oType = Type.GetTypeFromProgID("Outlook.Application");
如果我添加引用并且客户端打开表单并且没有Outlook或引用的库是Office 2013而安装的库是Office 2010怎么办? 表单会打开还是引发异常,或者下面几行仍然有效?
Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();
Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");
您需要在此处进行说明。 您说要自动执行Outlook,但不依赖它。 除非您要抽象电子邮件客户端的概念,否则这很奇怪,这似乎并不是您的动机。
假设您确实依赖互操作程序集,则可以在应用程序实际使用该引用之前检查是否存在损坏/无效的引用。 看这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.