我有一个非常好用的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>
没有计时器,它会运行隐藏,但是当我包含计时器时,它会显示控制台。
有人可以帮我解决这个问题吗?
谢谢
答案 0 :(得分:3)
你有一些选择;你可以使用windowstate =&#34;最小化&#34;在您的HTA属性中,请参阅https://technet.microsoft.com/en-us/library/ee176567.aspx以获取有关属性的更多信息。
该应用程序在运行时仍会显示在任务栏上,因此您可以将showintaskbar设置为否,但随后您将看到屏幕一角的窗口最小化。
您可以将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>
答案 1 :(得分:0)
如果您只是打开一个文本文件,为什么还要打扰命令提示符?另外,如果HTA在文件打开后立即关闭,为什么会有间隔?我认为您应该能够执行以下操作,同时还使用Gordon建议的WINDOWSTATE
属性:
objShell.Run("%temp%\\readme.txt", 0, true);
window.close();