【已解决】javascript代码执行的问题,求高手协助
本帖最后由 xwei21 于 2018-5-28 13:36 编辑<script type="text/javascript">
function hash33(t){
for(var e=0,i=0,n=t.length;i<n;++i)
e+=(e<<5)+t.charCodeAt(i);
return 2147483647&e;
}
</script>
上面是javascript代码,我用ObjCreate("MSScriptControl.ScriptControl")在x86模式下au3可以执行代码,但是用AuMFCompiler生成exe后就不执行javascript代码了,大哥些帮帮忙。还有上面的javascript代码转换成au3代码是什么呢?谢谢! 贴代码出来看看 MsgBox(0,"",Encodeqrsig("g4Ub3VdZ4tu4o6kS4*XSbMfRpah*c0VZgUz2djfT1If6zEFzDyFltWN65Zv8cSeD"))
Func Encodeqrsig($t)
Local $nJS = ObjCreate("MSScriptControl.ScriptControl")
$nJS.language = "JavaScript"
$nJS.addcode('function hash33(t){ for(var e=0,i=0,n=t.length;i<n;++i) e+=(e<<5)+t.charCodeAt(i); return 2147483647&e; }')
$nReg = $nJS.eval('hash33("'&$t&'")')
Return $nReg
EndFunc
请帮我看看是什么原因用AuMFCompiler生成exe后就不执行javascript代码了 回复 3# xwei21
AuMFC标准版编译后的确有这问题(专业版正常),不过标准版早已不再更新 AuMFC专业版还能买吗?或者大哥些帮我把javascript代码转成au3代码吧,谢谢! AuMFC专业版还能买吗?或者大哥些帮我把javascript代码转成au3代码吧,谢谢!
xwei21 发表于 2018-5-28 11:15 http://www.autoit3.cn/images/common/back.gif
使用频率不高没必要买。
以下代码自行测试下
MsgBox(0, '', _hash('g4Ub3VdZ4tu4o6kS4*XSbMfRpah*c0VZgUz2djfT1If6zEFzDyFltWN65Zv8cSeD'))
Func _hash($st)
Local $ii, $val
For $ii = 0 To StringLen($st) - 1
$val += BitShift($val, -5) + AscW(StringMid($st, $ii + 1, 1))
Next
Return BitAND(2147483647, $val)
EndFunc ;==>_hash 谢谢,代码我稍作休整,测试ok
MsgBox(0, '', _hash('g4Ub3VdZ4tu4o6kS4*XSbMfRpah*c0VZgUz2djfT1If6zEFzDyFltWN65Zv8cSeD'))
Func _hash($st)
Local $val=0
For $ii = 0 To StringLen($st)
$val += BitShift($val, -5) + AscW(StringMid($st, $ii, 1))
Next
Return BitAND(2147483647, $val)
EndFunc ;==>_hash
页:
[1]