Слушать Звездные войны в CMD с Visual Basic - PullRequest
0 голосов
/ 03 марта 2019

Я знаю, что мне нужно запустить 2 команды:

pkgmgr /iu:"TelnetClient"
Telnet Towel.blinkenlights.nl

Я бы хотел, чтобы команда cmd оставалась открытой после запуска Telnet Towel.blinkenlights.nl.

Это то, что я пробовал:

    Dim start As New Process()
    start.StartInfo.FileName = "cmd.exe"
    start.StartInfo.Arguments = "/c pkgmgr /iu:" & """" & "TelnetClient" & """"
    start.StartInfo.CreateNoWindow = True
    start.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    start.StartInfo.UseShellExecute = False
    start.Start()
    System.WaitForExit()

    Dim playSW As New Process()
    playSW.StartInfo.FileName = "cmd.exe"
    playSW.StartInfo.Arguments = "/k Telnet Towel.blinkenlights.nl"
    playSW.Start()
    playSW.WaitForExit()

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Спасибо за ваши ответы, чтобы исправить мою проблему, я установил 32-битную версию Putty и использовал ее для установления соединения telnet, передав ей команду -telnet Towel.blinkenlights.nl.Это работает, потому что 32-битная программа VB может открыть 32-битную Putty и вызвать команду.Причина, по которой он раньше не работал, заключается в том, что для telnet.exe требуется 64-разрядная программа.

0 голосов
/ 03 марта 2019

Вы можете использовать команду ProcessForExit процесса, чтобы убедиться, что процесс завершен:

Dim start As New Process()
start.StartInfo.FileName = "cmd.exe"
start.StartInfo.Arguments = "/c pkgmgr /iu:" & """" & "TelnetClient" & """"
start.StartInfo.CreateNoWindow = True
start.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
start.StartInfo.UseShellExecute = False
start.Start()
start.WaitForExit()

Dim playSW As New Process()
playSW.StartInfo.FileName = "cmd.exe"
playSW.StartInfo.Arguments = "/c Telnet Towel.blinkenlights.nl"
playSW.Start()
playSW.WaitForExit()

Ссылка: https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process.waitforexit?view=netframework-4.7.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...