通过 C# 更改 Outlook 个人信纸
Change Outlook Personal Stationery via c#
我刚刚开始学习如何使用 Visual Studio 为 Outlook 编写加载项。我很难找到资源来阅读 VSTO。 Outlook个人信纸下“新邮件信息”和“回复或转发邮件”的默认字体不能修改怎么办?
修改了我的 post 以包含解决方案:
我正在使用此 link (https://pcloadletter.co.uk/2010/05/19/outlook-default-font-and-signature/) 中的代码并转换为 C#。对于那些试图做同样事情的人,这是我的做法。
private void SetFont()
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Office.0\Common\MailSettings", true);
// set the font in Outlook and then export it from the registry. Use that value for our code.
string ComposeFontSimple = @"3c,00,00,00,1f,00,00,f8,00,00,00,00,c8,00,00,00,00,00,
00,00,ff,ff,00,dd,00,22,41,72,69,61,6c,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00";
byte[] arrComposeFontSimpleBin = ArrayHexToDec(ComposeFontSimple.Split(','));
key.SetValue("ComposeFontSimple", arrComposeFontSimpleBin, RegistryValueKind.Binary);
}
public static byte[] ArrayHexToDec(string[] arrHex)
{
byte[] arrDec = new byte[arrHex.GetUpperBound(0)];
for (int i = 0; i < arrHex.GetUpperBound(0); i++)
{
if (arrHex[i] == "00")
{
arrDec[i] = 0;
}
else
{
arrDec[i] = byte.Parse(arrHex[i], System.Globalization.NumberStyles.HexNumber);
}
}
return arrDec;
}
Outlook 将其设置保存在 windows 注册表中。尝试使用 Process Monitor 来跟踪 Outlook 保存其设置的确切位置。
如果我们谈到在运行时更改 Outlook 邮件项目,可以使用三种不同的方式修改邮件正文:
- Body.
- HTMLBody.
- Word 编辑器。 Inspector WordEditor 属性 class returns 表示邮件正文的 Word 文档实例。
有关详细信息,请参阅 Chapter 17: Working with Item Bodies。
设置存储在 HKCU\Software\Microsoft\Office\%s.0\Common\MailSetting
秒。
您想要的值是 ReplyFontSimple
- 字体大小从偏移量 12 开始,名称从偏移量 0x1A 开始(0x0 终止字符串)。
我刚刚开始学习如何使用 Visual Studio 为 Outlook 编写加载项。我很难找到资源来阅读 VSTO。 Outlook个人信纸下“新邮件信息”和“回复或转发邮件”的默认字体不能修改怎么办?
修改了我的 post 以包含解决方案:
我正在使用此 link (https://pcloadletter.co.uk/2010/05/19/outlook-default-font-and-signature/) 中的代码并转换为 C#。对于那些试图做同样事情的人,这是我的做法。
private void SetFont()
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Office.0\Common\MailSettings", true);
// set the font in Outlook and then export it from the registry. Use that value for our code.
string ComposeFontSimple = @"3c,00,00,00,1f,00,00,f8,00,00,00,00,c8,00,00,00,00,00,
00,00,ff,ff,00,dd,00,22,41,72,69,61,6c,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00";
byte[] arrComposeFontSimpleBin = ArrayHexToDec(ComposeFontSimple.Split(','));
key.SetValue("ComposeFontSimple", arrComposeFontSimpleBin, RegistryValueKind.Binary);
}
public static byte[] ArrayHexToDec(string[] arrHex)
{
byte[] arrDec = new byte[arrHex.GetUpperBound(0)];
for (int i = 0; i < arrHex.GetUpperBound(0); i++)
{
if (arrHex[i] == "00")
{
arrDec[i] = 0;
}
else
{
arrDec[i] = byte.Parse(arrHex[i], System.Globalization.NumberStyles.HexNumber);
}
}
return arrDec;
}
Outlook 将其设置保存在 windows 注册表中。尝试使用 Process Monitor 来跟踪 Outlook 保存其设置的确切位置。
如果我们谈到在运行时更改 Outlook 邮件项目,可以使用三种不同的方式修改邮件正文:
- Body.
- HTMLBody.
- Word 编辑器。 Inspector WordEditor 属性 class returns 表示邮件正文的 Word 文档实例。
有关详细信息,请参阅 Chapter 17: Working with Item Bodies。
设置存储在 HKCU\Software\Microsoft\Office\%s.0\Common\MailSetting
秒。
您想要的值是 ReplyFontSimple
- 字体大小从偏移量 12 开始,名称从偏移量 0x1A 开始(0x0 终止字符串)。