После дальнейшего чтения использовали следующее:
Dim FDrive As New ProcessStartInfo
FDrive.FileName = "format.com"
FDrive.Arguments = Mid(TDir, 6, 2) & ForQ & Mid(TDir, 9, 4) & "X"
FDrive.UseShellExecute = False
FDrive.CreateNoWindow = True
FDrive.RedirectStandardOutput = True
FDrive.RedirectStandardInput = True
Process.Start(FDrive)
Это прекрасно работает, позволяя мне выбирать формат Full или Quick с помощью переменной ForQ.
Все равно хотелось бы понять, почемуметод
process.start("Drivename", "Arguments")
не применим к использованию.Пытался понять различия, основанные на:
https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process.start?view=netframework-4.7.2
, который описывает использование Start (String, string).
Однако, будетТеперь хотелось бы узнать, как захватить конечную точку процесса форматирования, который я только что начал.Пришлось прибегнуть к таймеру, чтобы проверить
Private Sub TimerX_Tick(sender As Object, e As EventArgs) Handles TimerX.Tick
FProcess = Process.GetProcessesByName("format.com")
If FProcess.Count > 0 Then : Exit Sub : End If
TimerX.Stop() : TimerX.Enabled = False
CreateObject("WScript.Shell").Popup(TDir & " FORMAT COMPLETED", 3, "FORMAT DRIVE REQUEST")
Can = 0 : ButtonStatus()
End Sub
Есть ли более простой способ контролировать конец процесса форматирования, который я мог бы использовать?