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