vb控制台应用程序没有关闭

时间:2016-09-01 14:41:23

标签: vb.net visual-studio-2015

我创建了一个vb.net来从AD中获取属性并创建一个局部变量。 它做得很好,问题是它使控制台窗口打开,只有一个闪烁的光标。理想情况下,它会在创建变量后立即关闭。

我尝试添加Environment.Exit(0)

Module Module1

Sub Main()
    Dim objShell
    Dim objUserEnv
    Dim objADSysInfo
    Dim objUser

    objShell = CreateObject("WScript.Shell")
    objUserEnv = objShell.Environment("USER")
    objADSysInfo = CreateObject("ADSystemInfo")
    objUser = GetObject("LDAP://" & objADSysInfo.UserName)
    ' This will create the variable %ipphone%
    objUserEnv("ipphone") = objUser.ipPhone

End Sub

End Module

为什么它没有关闭控制台?

4 个答案:

答案 0 :(得分:0)

模块MyApp

Sub Main()
    ' Attach the event handler method
   AddHandler AppDomain.CurrentDomain.ProcessExit, AddressOf MyApp_ProcessExit

   Dim objShell
   Dim objUserEnv
   Dim objADSysInfo
   Dim objUser

   objShell = CreateObject("WScript.Shell")
   objUserEnv = objShell.Environment("USER")
   objADSysInfo = CreateObject("ADSystemInfo")
   objUser = GetObject("LDAP://" & objADSysInfo.UserName)
   ' This will create the variable %ipphone%
    objUserEnv("ipphone") = objUser.ipPhone

    Environment.Exit(0)
End Sub

Private Sub MyApp_ProcessExit(sender As Object, e As EventArgs)
    Console.WriteLine("App Is Exiting...")
End Sub

结束模块

答案 1 :(得分:0)

试试这个:

Application.Exit

我认为这是你项目设置的原因,我从未有过这样的事情

答案 2 :(得分:0)

好的,由于Environment.Exit(0)不起作用且您在控制台应用程序中,请尝试此操作,

转到Project> Add Reference> Assemblies> Framework并搜索System.Windows.Forms,点击该复选框,然后点击Ok,然后将其添加到您的代码中。

Imports System.Windows.Forms
Module Module1

Sub Main()

    Dim objShell
    Dim objUserEnv
    Dim objADSysInfo
    Dim objUser

    objShell = CreateObject("WScript.Shell")
    objUserEnv = objShell.Environment("USER")
    objADSysInfo = CreateObject("ADSystemInfo")
    objUser = GetObject("LDAP://" & objADSysInfo.UserName)
    ' This will create the variable %ipphone%
    objUserEnv("ipphone") = objUser.ipPhone
    Application.Exit()
End Sub
End Module

它可能没有关闭的另一个原因是因为它没有完成任务,当我运行你的代码时,它没有完成,我收到了这个错误

Additional information: No mapping between account names and security IDs was done. (Exception from HRESULT: 0x80070534)

由于你在问题中没有提到这一点,我猜你没有得到这个错误?

答案 3 :(得分:0)

原来我只是不耐烦了,如果给予足够的时间,它会关闭。