コマンドプロンプトから次のコマンドを実行しています
dir > c:\log.txt 2>&1
out はc:\log.txt
正常にファイルに送信されます。次に、以下のように CreateProcessA を使用して同じコマンドを実行しても何も起こりません
Public Function ExecCmd(cmdline$)
Dim proc As PROCESS_INFORMATION
Dim start As STARTUPINFO
Dim ret As Long
start.cb = Len(start)
start.dwFlags = 1
start.wShowWindow = 1
ret& = CreateProcessA(vbNullString, cmdline$, 0&, 0&, 1&, NORMAL_PRIORITY_CLASS, 0&, vbNullString, start, proc)
ret = WaitForSingleObject(proc.hProcess, INFINITE)
Call GetExitCodeProcess(proc.hProcess, ret&)
Call CloseHandle(proc.hThread)
Call CloseHandle(proc.hProcess)
ExecCmd = ret&
End Function
ここでcmdline$
は次のように渡されますdir > c:\log.txt 2>&1
バッチ ファイルを試してみました - 終了後に exe からの出力をリダイレクトする方法は? および出力の表示とリダイレクト
ここで何が間違っているかを提案してください