gpt4 book ai didi

c# - 更改 outlook MailItem 图标

转载 作者:太空狗 更新时间:2023-10-29 21:23:46 25 4
gpt4 key购买 nike

我正在开发一个 Outlook 2010 插件,当用户单击菜单中的按钮时,它会将电子邮件导出到特定位置。

这部分没有问题,但如果导出成功,我还需要更改 MailItem 图标-象形图。我试图寻找解决方案,但我只知道我需要使用 form regions ,但我没有找到真正有用的解决方案。

我应该如何使用这个表单区域有什么想法吗?!


我完成了加载项,从 VS 2010 调试时一切似乎都运行良好。我还创建了一个安装程序,但在安装应用程序后,Outlook 不会像我想要的那样显示我的图标。它没有显示您在上面看到的内容,而是更改了图标,但显示了默认图标 - 不是我的。这些图标在我使用的 FormRegion 的 resx 文件中(我使用 dor default 并从 list 中读取图标),我也尝试将它们移动到通用资源文件 (Properties.Resource),但结果是一样的。有人可以帮我解决这个问题吗?


所以我还使用 Replacement 和 ReplaceAll 添加了一个 FormRegion,在 list 上的默认图标上添加了我的图标,并将其命名为 IPM.Note.MyExportedItem。

在 ThisAddin.cs 中我有以下代码:

MailItem mailItem = (selectedItem as MailItem);

                    itemGuid = mailItem.EntryID;
string name = mailItem.Subject + ".msg";



name = "C:\\" + name.Replace(":", "");
try
{
mailItem.SaveAs(name, OlSaveAsType.olMSG);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
mailItem.MessageClass = "IPM.Note.MyExportedItem";
mailItem.Display(true);

........

但这并没有将 mailItem(电子邮件消息)图标从收件箱更改为我的图标,当我按照我想要的方式导出它们时,我能看到的唯一变化是当我调用 Display(true) 并打开邮件时信息。此外,如果我按新项目,选择表单并打开我的表单区域,它会打开一个撰写消息窗口,如果我向我发送电子邮件,那么它将有我的图标......奇怪......你可以在图片中看到:-) 你知道我做错了什么吗?

This is how it looks

问候

最佳答案

以下是在 Outlook 中使用自定义图标所需的步骤:

  1. 您需要分配一个自定义 MailItem.MessageClass ( IPM.Note.MyCompany.MyExportedItem ) 到您的导出商品。
  2. Create a replacement Form Region匹配 MessageClass
  3. 分配 Properties Pane of the Form Region Designer 中的图标.
  4. Re-deploy your VSTO Add-In使用自定义表单区域。

MSDN forum post also describes the process .

关于c# - 更改 outlook MailItem 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11115934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com