VisualBasic.NETで他アプリケーションを操作する方法


はじめまして！

今VisualBasic勉強中で悪戦苦闘しています。  
タイトルの通りVB.NETでVBアプリケーション自身から起動した他アプリケーション（例：コマンドプロンプト）を操作（コマンド送信→結果取得）をしようとしています。

[code]

        AppActivate(プロセスID)
        SendKeys.SendWait("dir\{Enter}")
    
[/code]

、、みたいな感じで操作が可能なのですが出来ればウィンドウ自体を表示したくありません。

上記の方法だとウィンドウがどうしてもアクティブになってしまいます。

結果の取得も最初はコマンドプロンプト画面のコピーを取ってVBアプリがクリップボードの内容を参照するみたいな事を考えていたのですが同様の事情で私の望む動きにならないと思っています。

どなたかお助け頂けますでしょうか？

よろしくお願いします！




例えば、こんな感じ

[code]

    Imports System
    Imports System.IO
    Imports System.Diagnostics
    
    Module Sample
        Sub Main()
            Dim myProcess As Process = new Process()
    
            myProcess.StartInfo.CreateNoWindow = true 'ウィンドウを作らない
            myProcess.StartInfo.FileName = "cmd.exe"
            myProcess.StartInfo.UseShellExecute = false
            myProcess.StartInfo.RedirectStandardInput = true
            myProcess.StartInfo.RedirectStandardOutput = true
    
            myProcess.Start()
            Dim sr As StreamReader = myProcess.StandardOutput
            Dim myStreamWriter As StreamWriter = myProcess.StandardInput
    
            myStreamWriter.WriteLine("dir") 'コマンドを標準入力として書き込み
            myStreamWriter.Close()
            Dim returnvalue as String = sr.ReadToEnd() '標準出力を文字列で読込
    
            myProcess.WaitForExit()
            myProcess.Close()
            '動作チェックでファイルへ書き込む
            Dim file As StreamWriter = new StreamWriter(".\\out.txt") '結果をファイルとして書き込み
            file.WriteLine(returnvalue)
            file.Close()
        End Sub
    End Module
    
[/code]

