【问题标题】:How to Run HTA in hidden mode如何在隐藏模式下运行 HTA
【发布时间】:2017-05-13 17:23:15
【问题描述】:

我有一个运行良好的 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


    【解决方案1】:

    你有一些选择;您可以在 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>
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-30
        • 2017-05-30
        • 1970-01-01
        • 2021-05-09
        相关资源
        最近更新 更多