boyhong 发表于 2009-10-25 16:46:42

关于_INetMail 在WIN 7 下中文乱码

关于_INetMail 在WIN 7 下中文乱码,XP下正常~~~

#include <INet.au3>
_INetMail ( $s_MailTo, $s_MailSubject, $s_MailBody )

ttl 发表于 2011-2-27 15:29:50

我也发现了,怎么解决呢

roinheart 发表于 2012-3-13 14:05:42

修改INET.AU3中的代码
原文:
Func _INetMail($s_MailTo, $s_MailSubject, $s_MailBody)
        Local $prev = Opt("ExpandEnvStrings", 1)
        Local $var, $dflt = RegRead('HKCU\Software\Clients\Mail', "")
        If $dflt = "Windows Live Mail" Then
                $var = RegRead('HKCR\WLMail.Url.Mailto\Shell\open\command', "")
        Else
                $var = RegRead('HKCR\mailto\shell\open\command', "")
        EndIf
        Local $ret = Run(StringReplace($var, '%1', _INetExplorerCapable('mailto:' & $s_MailTo & '?subject=' & $s_MailSubject & '&body=' & $s_MailBody)))
        Local $nError = @error, $nExtended = @extended
        Opt("ExpandEnvStrings", $prev)
        Return SetError($nError, $nExtended, $ret)
EndFunc   ;==>_INetMail
修改后:
Func _INetMail($s_MailTo, $s_MailSubject, $s_MailBody)
        Local $prev = Opt("ExpandEnvStrings", 1)
        Local $var, $dflt = RegRead('HKCU\Software\Clients\Mail', "")
        If $dflt = "Windows Live Mail" Then
                $var = RegRead('HKCR\WLMail.Url.Mailto\Shell\open\command', "")
        Else
                $var = RegRead('HKCR\mailto\shell\open\command', "")
        EndIf
        Local $ret = Run(StringReplace($var, '%1', 'mailto:' & $s_MailTo & '?subject=' & $s_MailSubject & '&body=' & $s_MailBody))
        Local $nError = @error, $nExtended = @extended
        Opt("ExpandEnvStrings", $prev)
        Return SetError($nError, $nExtended, $ret)
EndFunc   ;==>_INetMail
页: [1]
查看完整版本: 关于_INetMail 在WIN 7 下中文乱码