繁体   English   中英

如何在不闪烁命令提示符框的情况下运行Windows任务,但是在需要时仍显示对话框?

[英]How do I run a windows task without flashing a command prompt box BUT still show a dialog box when I need to?

我使用Windows命令提示符在Windows中创建计划任务:

schtasks /create /sc minute /mo 30 /tn "javadobe" /tr "\Program Files (x86)\BuildingIntelligence\javadobe\node.exe '\Program Files (x86)\BuildingIntelligence\javadobe\index.js'" /RL HIGHEST

这是告诉命令行以最高的运行特权每30分钟运行一次“ node index.js”。

在我的index.js文件中,我正在检查远程服务器上与本地版本号进行比较的版本号。 现在,当它们相同时,节点提示窗口在屏幕上短暂闪烁,这很令人讨厌,我想停下来。 但是,当主机服务器上载软件的新版本时,我显示一个对话框,询问用户是否要立即或稍后安装更新。 我想保留此功能。

如何保持对话框弹出但不显示node.js命令提示符始终闪烁?

我尝试过的事情:

  1. 我尝试将脚本作为服务而不是计划任务来运行,这使Windows命令提示符不出现,但不允许该对话框显示给用户(因为服务在另一个桌面会话中运行)。

  2. 在正常的Windows命令提示符下,您可以启动最小化的程序,使用

    START / MIN [应用程序名称]

    因此,我尝试将/ tr参数更改为“ start node index.js / MIN”,但这没有用。

预先感谢您的帮助!

Windows是否为应用程序创建控制台窗口由二进制映像(exe文件)中指定的Windows子系统 (在编译时指定)控制。

如果这是CONSOLE (与node.js一样),则Windows将在应用程序开始执行之前创建控制台窗口。 换句话说,不可能在运行时控制是否出现窗口。 如果是WINDOWS ,则Windows不会创建控制台窗口,因为它希望应用程序创建UI。

您将必须使用子系统WINDOWS创建一个node.js可执行文件的自定义版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM