【问题标题】:Task Manager full screen popup window任务管理器全屏弹出窗口
【发布时间】:2015-07-28 17:24:12
【问题描述】:

我对这一切都很陌生。我正在尝试让 Windows“任务计划程序”运行弹出到用户屏幕前面的应用程序。

我最初尝试使用 VBS msgbox,使用 4096 代码将其保持在顶部。这可行,但弹出的窗口太小了,我需要为不同的任务更改颜色。

经过更多研究,我发现了如何制作一个可以自定义和全屏显示的 HTA 窗口。但是当任务调度程序运行它时,它会在用户活动窗口后面弹出。用户通常有一个全屏页面,因此他们无法看到警报。

我不需要警报总是在最前面,我只需要它最初加载到所有内容的前面,然后用户必须在关闭之前查看它。

很可能我让这件事变得比应该做的更难,所以我愿意接受任何更好的选择。我将包括我一直在使用的 HTA

<html>
<head>
<hta:application 
APPLICATIONNAME = "TEST"
ID = "TEST"
SCROLL = "No"
MinimizeButton = "no"
WINDOWSTATE="maximize"
SINGLEINSTANCE = "Yes"
/> 

<STYLE>
html, body {
background color: #000

 font-size: 100%;
 line-height: 10em;
 margin: 10;
 padding: 0;
}
h1 {font-family: Arial;
 color: #ff0000;
 font-size: 5em;
 text-transform: uppercase;
 text-align: center;
}
h2 {font-family: Arial;
 color: #ffffff;
 font-size: 7em;
 text-transform: uppercase;
 text-align: center;
}

</STYLE> 
</script>
</head>
<body scroll="no">
<br>
<h1>ATTENTION!</h1>
<h2>Check your inventory.<br></h2> 

</body>
</html>

【问题讨论】:

    标签: vbscript scheduled-tasks hta


    【解决方案1】:

    在您的 HTA 中,在 &lt;head&gt; 开始标签之后添加一个标题:&lt;title&gt;Check Your Inventory&lt;/title&gt;。这将为您的窗口提供一个有意义的名称。

    然后用这个替换这个&lt;/script&gt;

    <script language="vbscript">
    Sub Window_OnLoad()
        Set objShell = CreateObject("Wscript.Shell")
        ms = "1000"
        objShell.Run "ping 1.1.1.1 -n 1 -w " & ms,0,True 
        objShell.AppActivate "Check Your Inventory"
    End Sub 
    </script>
    

    这将在窗口打开时运行。基本上,在 1000 毫秒后,它会尝试使用您刚刚给它的标题激活一个窗口。

    我对 AppActivate 的运气并不总是很好,但是网上有很多关于它的信息。

    【讨论】:

    • 感谢您的快速回复。我把代码放进去。它仍然没有出现在前面。它位于用户打开的任何窗口的后面。如果您能想到其他任何事情,请告诉我。我将对 appactivate 和 self.focus 进行更多搜索。看看我能想出什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多