Vbscript 更新outlook 2002中的默认字体

Vbscript 更新outlook 2002中的默认字体,vbscript,outlook,Vbscript,Outlook,我被要求创建一个vbscript,它将为Outlook 2002中的用户设置默认字体。我有一些改变三个注册表项的代码,应该更新字体细节。注册表中的键正在更新,但对Outlook没有影响,我已重新启动Outlook并重新启动计算机,字体保持不变。下面是我正在使用的代码,任何帮助都会得到 Dim strValue Dim strKey Set oshell = CreateObject("WScript.Shell") strValue = "3c,00,00,00,0f,00,00,e8,00,

我被要求创建一个vbscript,它将为Outlook 2002中的用户设置默认字体。我有一些改变三个注册表项的代码,应该更新字体细节。注册表中的键正在更新,但对Outlook没有影响,我已重新启动Outlook并重新启动计算机,字体保持不变。下面是我正在使用的代码,任何帮助都会得到

Dim strValue
Dim strKey
Set oshell = CreateObject("WScript.Shell")

strValue = "3c,00,00,00,0f,00,00,e8,00,00,00,40,c8,00,00,00,4a,04,03,00,00,00,00,00,00,20,54,72,65,62,75,63,68,65,74,20,4d,53,00,00,00,00,00,00,00,00,00,00,f0,db,66,34,2c,eb,13,00,01,00,00,00"
strkey = "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Common\MailSettings\ComposeFontSimple"
oshell.RegWrite strKey,strValue,"REG_BINARY"

strValue = "3c 00 00 00 0f 00 00 e8 00 00 00 00 c8 00 00 00 4a 04 03 00 00 00 ff 00 00 20 54 72 65 62 75 63 68 65 74 20 4d 53 00 00 00 00 00 00 00 00 00 00 f0 db 66 34 2c eb 13 00 01 00 00 00"
strkey = "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Common\MailSettings\ReplyFontSimple"
oshell.RegWrite strKey,strValue,"REG_BINARY"

strValue = "3c 00 00 00 0f 00 00 e8 00 00 00 40 c8 00 00 00 4a 04 03 00 00 00 00 00 00 20 54 72 65 62 75 63 68 65 74 20 4d 53 00 00 00 00 00 00 00 00 00 00 f0 db 66 34 2c eb 13 00 01 00 00 00"
strkey = "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Common\MailSettings\TextFontSimple"
oshell.RegWrite strKey,strValue,"REG_BINARY"

我找到了解决办法。我必须使用另一个对象并将字符串值转换为十六进制值,以便将二进制值写入注册表字段,如下所示

HKEY_CURRENT_USER = &H80000001
strComputer = "."

Set ObjRegistry = _
    GetObject("winmgmts:{impersonationLevel = impersonate}!\\" _
    & strComputer & "\root\default:StdRegProv")

strPath = "Software\Microsoft\Office\10.0\Common\MailSettings\"

Set objRegistry = _
   GetObject("Winmgmts:root\default:StdRegProv")

uBinary = Array(&H3c,&H00,&H00,&H00,&H0f,&H00,&H00,&He8,&H00,&H00,&H00,&H40,&Hc8,&H00,&H00,&H00,&H4a,&H04,&H03,&H00,&H00,&H00,&H00,&H00,&H00,&H20,&H54,&H72,&H65,&H62,&H75,&H63,&H68,&H65,&H74,&H20,&H4d,&H53,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&Hf0,&Hdb,&H66,&H34,&H2c,&Heb,&H13,&H00,&H01,&H00,&H00,&H00)

uBinaryReply = Array(&H3c,&H00,&H00,&H00,&H0f,&H00,&H00,&He8,&H00,&H00,&H00,&H00,&Hc8,&H00,&H00,&H00,&Ha0,&H02,&H0e,&H00,&H00,&H00,&Hff,&H00,&H00,&H20,&H54,&H72,&H65,&H62,&H75,&H63,&H68,&H65,&H74,&H20,&H4d,&H53,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&Hf0,&Hdb,&H66,&H34,&H2c,&Heb,&H13,&H00,&H01,&H00,&H00,&H00)

Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, _
   strPath, _
   "ComposeFontSimple", _
   uBinary)

Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, _
   strPath, _
   "ReplyFontSimple", _
   uBinaryReply)

Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, _
   strPath, _
   "TextFontSimple", _
   uBinary)