Hello there !
First of all i would like to clarify that iam ABSOLUTE beginner at VB.Net ! Iam using Visual Basic 2010 Express edition and have only been doing that for the last few days..
What iam trying to make is an app that would automaticly start two other applications, where one of them needs a single key pressed as input, and copy some link to the clipboard.
I've allready acomplished the mentioned but i want to do one more thing
The application that needs some keys pressed in order to start is this LINK
As you can see it looks like some CMD piece of application.
i want the output from that window into a TextBox on my form, but have been unable to do that.
Ive tried two methods allready.. The most described and used is the RedirectStandardOutput and RedirectStandardInput methods:
However i can only get the output to work. Input does not seem to get to the program.
Then i thought of another method which was by exporting the content of the cmd window (in this case the mw2sa.exe window) to a textfile every few seconds and then read that textfile into my textbox. This would also benefit for some few reasons:
1. If i launch the program via the
iam able to send input to the program via
2. This would also store a "log" as the textfile for later use.
However the tricky part for me is to:
1. Get the output from the mw2sa.exe window to automaticly update the textfile every few seconds
2. Be able to read the textfile in the textbox. VB tells me its unable to read the textfile as it is beeing used.
3. Somehow if i use the
To launch the program all i get is a black cmd window.. However, a log.txt file is created with the correct output, but since the cmd window isnt showing any output i dont think im able to use sendkeys to start the program. And if i try with only
I get the correct cmd window with all the right output. Sendkeys is also able to pass the key to start the program... But no log.txt is created!
I hope all this is understandable as iam not that good at english! If not please ask and i will try to clarify !
And i hope you can help me..
Thanks a lot !
~D
First of all i would like to clarify that iam ABSOLUTE beginner at VB.Net ! Iam using Visual Basic 2010 Express edition and have only been doing that for the last few days..
What iam trying to make is an app that would automaticly start two other applications, where one of them needs a single key pressed as input, and copy some link to the clipboard.
I've allready acomplished the mentioned but i want to do one more thing
The application that needs some keys pressed in order to start is this LINK
As you can see it looks like some CMD piece of application.
i want the output from that window into a TextBox on my form, but have been unable to do that.
Ive tried two methods allready.. The most described and used is the RedirectStandardOutput and RedirectStandardInput methods:
VB.NET:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim p As New Process
RichTextBox1.Text = "* - Starting Modern Warfare 2 Server Admin Tool"
p.StartInfo.FileName = ("mw2sa.exe")
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardOutput = True
p.StartInfo.RedirectStandardInput = True
p.StartInfo.CreateNoWindow = False
AddHandler p.OutputDataReceived, AddressOf HelloMum
p.Start()
p.BeginOutputReadLine()
System.Threading.Thread.Sleep(1000) 'time given to the program to launch and be ready for input
Dim SW As System.IO.StreamWriter = p.StandardInput
SW.Write("1")
End Sub
Sub HelloMum(ByVal sender As Object, ByVal e As DataReceivedEventArgs)
UpdateTextBox(e.Data)
End Sub
Then i thought of another method which was by exporting the content of the cmd window (in this case the mw2sa.exe window) to a textfile every few seconds and then read that textfile into my textbox. This would also benefit for some few reasons:
1. If i launch the program via the
VB.NET:
ProcID = Shell("mw2sa.exe, AppWinStyle.NormalFocus)
VB.NET:
My.Computer.Keyboard.SendKeys("1", True)
However the tricky part for me is to:
1. Get the output from the mw2sa.exe window to automaticly update the textfile every few seconds
2. Be able to read the textfile in the textbox. VB tells me its unable to read the textfile as it is beeing used.
3. Somehow if i use the
VB.NET:
ProcID = Shell("cmd /K mw2sa.exe > log.txt", AppWinStyle.NormalFocus)
VB.NET:
ProcID = Shell("mw2sa.exe > log.txt", AppWinStyle.NormalFocus)
I hope all this is understandable as iam not that good at english! If not please ask and i will try to clarify !
And i hope you can help me..
Thanks a lot !
~D
Last edited: