Link to home
Create AccountLog in
Avatar of Jimbo99999
Jimbo99999Flag for United States of America

asked on

VB.Net - Call External EXE with Return value

Good Day Experts!

I am not sure how to accomplish the end task for my project.  I am calling an exe using the following code from a testing project which will mimic calling from a current production project.

Dim pHelp as New ProcessStartInfo
phelp.FileName = "C:\Testing\WindowsApplication5.exe"
pHelp.Arguments = "44070,44145,21"
pHelp.UseShellExecute = False
pHelp.WindowsStyle = ProcessWindowStyle.Normal
Dim proc as Process = Process.Start(Help)

The exe produces the mileage between 2 zipcodes.  I have the mileage showing in a messagebox coded in the exe.

The trouble I have now is that I cannot figure out how to get that mileage returned back to my calling testing project.
The code from the exe is contained in Sub Main() within Module MainMod.  

Can you offer any suggestions?

Thanks for the help,
jimbo99999
SOLUTION
Avatar of Anil Golamari
Anil Golamari
Flag of United States of America image

Link to home
membership
Create an account to see this answer
Signing up is free. No credit card required.
Create Account
I have the mileage showing in a messagebox coded in the exe.

Pass that computed mileage to the Environment.Exit() method:
        Dim mileage As Integer = 911
        Environment.Exit(mileage)

Open in new window


Now, in your calling program, wait for the called application to exit and then grab the ExitCode:
        Dim proc As Process = Process.Start(pHelp)
        proc.WaitForExit()
        Dim mileage As Integer = proc.ExitCode
        MessageBox.Show("Captured mileage = " & mileage)

Open in new window

Avatar of Jimbo99999

ASKER

Hey There Experts!

Ok, this is exciting I have the mileage getting back to my test calling project.

However, I have been unable to get it back with the decimal point.  

Do you all know if it is possible to do that?

Thanks,
jimbo99999
ASKER CERTIFIED SOLUTION
Link to home
membership
Create an account to see this answer
Signing up is free. No credit card required.
Create Account
Good Idea Mik...I will try that out now.
It is working great now.

Thanks for the help,
jimbo99999