您好我正在尝试通过 Process.Start() 在 Windows 相关程序中打开图像。没关系,但我想在我的主应用程序 MessageBox 中显示外壳已打开并希望等待退出进程的消息。图像处理退出后,主应用程序应该运行。
我试过这样的事情:
Dim objProcess As New Process
objProcess.StartInfo.FileName = path
objProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal
objProcess.Start()
Dim p As Progress = New Progress(False, False)
p.DoEndlessOperationMainThread(Res.GetRes("", "Príloha sa práve používa..."), Sub()
Try
'wait until process end, do event beacuse i dont want my main app be freezed
While Not objProcess.WaitForExit(500)
Application.DoEvents()
End While
While Not objProcess.HasExited
Threading.Thread.Sleep(500)
Application.DoEvents()
End While
Catch ex As InvalidOperationException
End Try
End Sub)
'uvolnenie zdrojov
objProcess.Close()
它工作正常,除了 .jpg 图像。当我使用 Windows 相关程序打开图像时,WaitForExit 不起作用。代码继续。HasExited 也没有工作。
当我将 objProcess 设置为 watch 时,它是这样的: watch
也许我没有正确实施它。当我搜索论坛时,只有我应该使用 WaitForExit。
我有 Windows 10 专业版。
谢谢你的建议。