没有命令提示符的Vboxheadless(VirtualBox)

我试图在服务的后台运行VirtualBox虚拟机。 我按照自己的意愿开始一个过程时遇到了麻烦。 我想以无人模式启动virtualbox guest,作为一个单独的进程,并且不显示GUI。

以下是我所尝试的:

从命令行:

启动vboxheadless -s“Ubuntu服务器”

在C#中:

ProcessStartInfo info = new ProcessStartInfo { UseShellExecute = false, RedirectStandardOutput = true, ErrorDialog = false, WindowStyle = ProcessWindowStyle.Hidden, CreateNoWindow = true, FileName = "C:/program files/sun/virtualbox/vboxheadless", Arguments = "-s \"Ubuntu Server\"" }; Process p = new Process(); p.StartInfo = info; p.Start(); String output = p.StandardOutput.ReadToEnd(); //BLOCKS! (output stream isnt closed) 

我希望能够得到输出来知道启动服务器是否成功。 但是,似乎产生的窗口永远不会closures它的输出stream。

还值得一提的是,我已经尝试使用vboxmanage startvm“Ubuntu服务器”–type = vrdp。 我可以确定服务器是否正确使用这个启动。 但是它为新启动的VirtualBox guest显示了一个新的命令提示符窗口。

    以防万一有人再次面对这件事,这是我为此做的…

    start-process "vboxheadless" "-s ubuntu" -WindowStyle Hidden

    要么把它放在一个PowerShell脚本中,要么input一个PowerShell控制台窗口。 您可以创build一个快捷方式或别名等

    我最近设法在这里做。 解决scheme不是很好:我不喜欢Windows开发..但它的工作原理,你还可以渴望什么? :))