Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
Hi. I want to use VB.net to execute a program (*.exe file), wait till it finishes and get the return value the *.exe program returns. Now I did accomplish this using the code bellow however the error code i get the first few tries is correct but then i keep getting 0xCDCDCDCD as the error code. I don't understand why running this code would generate the wrong result after few tries. Please help.
How can i ensure i get the correct exit code
Ps. the *.exe file was writen in c++ and it always returns a positive integer where as 0xCDCDCDCD is negative as a signed integer representation
 
CODE:
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
Posted 3-Mar-11 13:31pm
Edited 3-Mar-11 14:44pm
Henry Minute223.6K
v2

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

The Process class has an ExitCode property. Example here[^].
 
I think that is what you need. Smile | :)
  Permalink  
Comments
SAKryukov at 3-Mar-11 21:47pm
   
Yes, that's it, my 5.
--SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web04 | 2.8.140926.1 | Last Updated 3 Mar 2011
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100