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