zoukankan      html  css  js  c++  java
  • 在 winfrom 中弹出outlook 并添加附件

    这段时间在公司修改一个前辈们做过的测试工具:test client。需要在该工具中添加一个功能就是点击按钮是弹出outlook界面,并添加附件:刚开始的直接用

    简单的方式实现的,现贴出分享如下:
    microsoft.win32.registrykey rkey = microsoft.win32.registry.classesroot.opensubkey(@"mailto\shell\open\command");//这里我们查找系统的缺省邮件客户程式,其他的客户程式我没有试验过,不知道这种方式是否可行

    if(rkey != null)
    {//这里查找outlook应用程式所在位置,也能够用其他方式去查
    string path = rkey.getvalue("").tostring() + " ";
    path = path.substring(0, path.indexof(" "));
    path = path.replace("\"", "");
    rkey.close();
    try
    {
    system.diagnostics.process.start(path, "-c ipm.note /m myfriend@hotmail.com&subject=hello " + this._imagepath);//调用执行outlook,主要注意后面的参数,附件的文档地址空格隔开
    }
    catch
    {
    }
    }

    但是这样打开outlook界面后只能添加一个附件而且非常不灵活!于是就用了另一种方法:

    调用COM组建来完成对outlook的操作。

    1.导入 Microsoft.Office.Interop.Outlook

    2.代码如下:

        private void SendEmailtoContacts(List<string> AttachmentPath, string Subject)
           {
               try
               {
                   Microsoft.Office.Interop.Outlook.Application outlookObj = new Microsoft.Office.Interop.Outlook.Application();
                   Microsoft.Office.Interop.Outlook.MailItem Item = (Microsoft.Office.Interop.Outlook.MailItem)outlookObj.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
                   //Microsoft.Office.Interop.Outlook.MailItem Item = outlookObj.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
                   //Item.To = "zhangzhx@inspur.com";
                   Item.Subject = Subject;
                   //Item.CC = "Task Client";
                   //Item.Body = "hello";
                   for (int i = 0; i < AttachmentPath.Count; i++)
                   {
                       Item.Attachments.Add(AttachmentPath[i].ToString());
                   }
                   Item.Display(true);
               }
               catch (System.Exception ex)
               {

               }
           }

    感谢大家指点

  • 相关阅读:
    艾伟:Memcached深度分析 狼人:
    项目一 三角形类4
    Flex 的DataGrid列 的字体,根据不同情况 渲染不同颜色
    yum 失败(This system is not registered with RHN.)解决
    FirePHP调试指南
    项目总结:复杂树状菜单结点增改删(ZTree)
    ./configure: error: the HTTP rewrite module requires the PCRE library.
    使用GDB调试Android NDK native(C/C++)程序
    三角形类1
    我为什么不喜欢网赚和SEO
  • 原文地址:https://www.cnblogs.com/zwzw/p/2259446.html
Copyright © 2011-2022 走看看