以下是混合批处理脚本:
<!-- :: Batch section
@echo off
setlocal
echo Select an option:
for /F "delims=" %%a in ('mshta.exe "%~F0"') do set "HTAreply=%%a"
echo End of HTA window, reply: "%{HTAreply}%"
pause
goto :EOF
-->
<HTML>
<HEAD>
<HTA:APPLICATION SCROLL="no" SYSMENU="no" >
<TITLE>HTA Buttons</TITLE>
<SCRIPT language="JavaScript">
window.resizeTo(374,100);
function closeHTA(reply){
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetStandardStream(1).WriteLine(reply);
window.close();
}
</SCRIPT>
</HEAD>
<BODY>
<button onclick="closeHTA(1);">First option</button>
<button onclick="closeHTA(2);">Second option</button>
<button onclick="closeHTA(3);">Third option</button>
</BODY>
</HTML>
我按照此处的说法对其进行了模糊处理:[帖子#21] https://www.dostips.com/forum/viewtopic.php?t=7990&start=15
然后HTA app输出不像以前那样。它如下: 整个批处理内容显示在HTML窗口中。
我想知道为什么会发生这种情况,其次是有任何方式来混淆这种混合批处理脚本 当我尝试将批处理文件转换为exe时会发生同样的情况。
修改
问题解决了。 html代码中有错误。道歉。我会编辑以显示问题,但我想这样做太微不足道了。