Windows 脚本宿主弹出窗口 - 在其他 windows 之上

Windows Scripting Host popup - on top of other windows

我有一个简单的 Windows JavaScript,它会每 30 分钟弹出一个提醒,持续 10 秒。如何让弹出窗口出现在所有其他窗口的顶部 windows?

var wshShell = WScript.CreateObject("WScript.Shell");
while(1) {
    var value = wshShell.Popup("Reminder text", 10, "Reminder", 0x1);
    if (value == 2) { // Cancel button pressed
        break;  
    }

    WScript.sleep(30 * 60 * 1000); // Every 30 minutes
}

WScript.Echo("Exiting timer!");

Clackwell’s Weblog

得到了答案

WScript.Shell.Popup 的 nType 参数有一个未记录的值,这导致结果 dialogs/popups “保持在顶部”/在前景中,这意味着它们不能被其他 windows 隐藏或对话:4096.

JScript example:

WScript.CreateObject(“WScript.Shell”).Popup(“Message”, 0, “Title”, 4096);

VBScript example:

WScript.CreateObject(“WScript.Shell”).Popup “Message”, 0, “Title”, 4096

也记录在 MSDN