如何在隐藏模式下运行HTA



我有一个运行良好的HTA文件,但我的问题是我希望HTA控制台在文件运行时被隐藏。

这是我的代码:

<script>
var myVar = setInterval(function(){ myTimer() }, 3000);
function myTimer() {
    objShell=new ActiveXObject("WScript.Shell");
objShell.Run ('%windir%\System32\cmd.exe /c %temp%\readme.txt', 0);window.close();
}
</script>

如果没有计时器,它会隐藏运行,但是当我包括计时器时,它会显示控制台。

有人可以帮我解决这个问题吗?

谢谢

您有一些选择;您可以在 HTA 属性中使用 windowstate="minimize" 有关属性的详细信息,请参阅 https://technet.microsoft.com/en-us/library/ee176567.aspx。

该应用程序在运行时仍将显示在任务栏上,因此您可以将showintaskbar设置为no,但随后您将看到屏幕角落的窗口最小化。

您可以将window.resizeTo(0,0);WINDOWSTATE="normal"一起使用,但在更改大小之前,窗口会闪烁。

您可以尝试这些选项,看看哪一个最适合您的需求。

<HTML>
    <HEAD>
        <HTA:APPLICATION ID="oHTA"
        APPLICATIONNAME="myApp"
        WINDOWSTATE="normal"
        MAXIMIZEBUTTON="no"
        MINIMIZEBUTTON="no"
        CAPTION="no"
        SHOWINTASKBAR="no"
        >
        <script>
            window.resizeTo(0,0);
            var myVar = setInterval(function(){ myTimer() }, 3000);
            function myTimer() {
                objShell=new ActiveXObject("WScript.Shell");
            objShell.Run ('%windir%\System32\cmd.exe /c %temp%\readme.txt', 0);window.close();
            }
        </script>
    </HEAD>
    <BODY SCROLL="no">
    </BODY>
</HTML>

如果您只是打开一个文本文件,为什么要使用命令提示符?另外,如果HTA在打开文件后立即关闭,为什么会有间隔?我认为您应该能够执行以下操作,同时还可以使用 Gordon 建议的 WINDOWSTATE 属性:

objShell.Run("%temp%\readme.txt", 0, true);
window.close();

相关内容

  • 没有找到相关文章

最新更新