我有一个用VB Net编写的控制台应用,效果很好。现在我想使用任务调度程序运行它。问题是应用程序在最后一端有一个console.readline命令,可以让控制台窗口保持打开状态,直到用户点击进入。有没有办法测试应用程序是否在会话中运行?
如果我知道应用程序没有绑定到桌面控制台,我就不会将注释写入控制台,而是绕过最后的console.readline命令。
答案 0 :(得分:3)
您应该为任务添加一个参数,以表明它是无人参与的。例如,在计划任务中传递/u
。检查程序中的/u
,确定是否应跳过console.readline
。
Dim args() As String = Environment.GetCommandLineArgs()
' args(0) = Full path of executing program with program name
' args(1) = First switch in command - /u
if args(1) = "/u" then ....
或者您可以将Main()
的签名更改为Public Sub Main(ByVal args() As String)
,而无需使用Dim args() As String = Environment.GetCommandLineArgs()