コンソールアプリを非表示で実行するラッパーをVB.NETで作る。(その2)
このラッパーをWScript.ShellのExec()で使うには、
Set oExec=wShell.Exec("コンソールアプリ [引数...]")
の代わりに、
Set oExec=wShell.Exec("HideExec.exe コンソールアプリ [引数...]")
とします。
使用例(1)
Set wShell=CreateObject("WScript.Shell")
Set oExec=wShell.Exec("HideExec.exe more.com")
oExec.StdIn.WriteLine "aaa"
oExec.StdIn.WriteLine "bbb"
oExec.StdIn.Close
MsgBox oExec.StdOut.ReadAll,,"StdOut"
MsgBox oExec.StdErr.ReadAll,,"StdErr"
Exec()のStdOutやStdErrは、ノンブロッキングReadができないので、StdOutとStdErrのどちらに出るか予測できない会話はできません。
もし、StdOutとStdErrのどちらに出るか予見可能なら、会話も可能です。
使用例(2)
Set wShell=CreateObject("WScript.Shell")
Set oExec=wShell.Exec("HideExec.exe fc")
MsgBox oExec.StdOut.ReadAll,,"StdOut"
MsgBox oExec.StdErr.ReadAll,,"StdErr"
« コンソールアプリを非表示で実行するラッパーをVB.NETで作る。 | トップページ | コンソールアプリを非表示で実行するラッパーをVB.NETで作る。(その3) »