SebG.Net Ответов: 1

Получить код ошибки (код выхода) из завершенного процесса в VB.net


Привет. Я хочу использовать VB.net чтобы выполнить программу (файл *.exe), дождитесь ее завершения и получите возвращаемое значение, возвращаемое программой*. exe. Теперь я сделал это, используя приведенный ниже код, однако код ошибки, который я получаю первые несколько попыток, является правильным, но затем я продолжаю получать 0xCDCDCDCD в качестве кода ошибки. Я не понимаю, почему запуск этого кода приведет к неправильному результату после нескольких попыток. Пожалуйста помочь.
Как я могу гарантировать, что получу правильный код выхода
Ps. файл *.exe был написан на языке c++, и он всегда возвращает положительное целое число, где as 0xCDCDCDCD является отрицательным как целочисленное представление со знаком

КОД:
Dim startInfo As New System.Diagnostics.ProcessStartInfo
Dim MyProces As Process

startInfo.FileName = myExeFileName
startInfo.Arguments = myExeArgString
startInfo.CreateNoWindow = True
startInfo.UseShellExecute = True
startInfo.WindowStyle = ProcessWindowStyle.Hidden

MyProces = Process.Start(startInfo)
MyProces.WaitForExit()

If (MyProces.ExitCode <> 0) Then
  MsgBox("0x" + Hex(MyProces.ExitCode()))
End If

1 Ответов

Рейтинг:
1

Henry Minute

То Process класс имеет ExitCode собственность. Пример здесь[^].

Я думаю, это то, что вам нужно. :)


Sergey Alexandrovich Kryukov

Да, именно так, мой 5-й.
--СА