Nice to meet you!
I'm studying VisualBasic and I'm struggling.
As stated in the title, VB.NET is trying to manipulate other applications (such as command prompts) that started from VB applications themselves (commands sent → results obtained).
AppActivate (Process ID)
SendKeys.SendWait("dir\{Enter}")
I can operate it like this, but if possible, I don't want to display the window itself.
The above method will cause the window to become active.
At first, I thought that the VB app would refer to the contents of the clipboard by copying the command prompt screen, but I don't think it's going to work as I want for the same reason.
Can someone help me?
Thank you for your cooperation!
vb.net
For example, like this
Imports System
Imports System.IO
Imports System.Diagnostics
Module Sample
Sub Main()
Dim myProcess As Process = new Process()
MyProcess.StartInfo.CreateNoWindow=true' window not created
myProcess.StartInfo.FileName="cmd.exe"
myProcess.StartInfo.UseShellExecute=false
myProcess.StartInfo.RedirectStandardInput=true
myProcess.StartInfo.RedirectStandardOutput=true
myProcess.Start()
Dimsr As StreamReader=myProcess.StandardOutput
Dim myStreamWriter As StreamWriter=myProcess.StandardInput
Write myStreamWriter.WriteLine("dir")' command as standard input
myStreamWriter.Close()
Dim returnvalue as String=sr.ReadToEnd()'Standard output read as string
myProcess.WaitForExit()
myProcess.Close()
US>'Write to file with behavior check
Dim file As StreamWriter = new StreamWriter(".\\out.txt")' Write Results as Files
file.WriteLine(returnvalue)
file.Close()
End Sub
End Module
Do I have to operate a program that has already started (in this case, a command prompt)?
It's overwhelmingly easier to launch a command prompt yourself to do what you want.
http://dobon.net/vb/dotnet/process/processwindowstyle.html
http://dobon.net/vb/dotnet/process/standardoutput.html
If you hide the console window and don't redirect the standard input/output, you won't be able to use SendKeys.
SendKeys is the API that you operate on the active window and cannot be used for inactive windows that hide the window.You will be using the SendMessage API to control it.
To hide a window, you should be able to retrieve the window handle using the method found in the form embedding command prompt (cmd.exe) and then hide it in the ShowWindow API.
© 2024 OneMinuteCode. All rights reserved.