3
我有控制檯應用ThirdPartyApplications.exe,我必須從Windows服務運行。 控制檯應用程序給我回郵:OK,NOT OK和ERROR。如何從Windows服務讀取控制檯輸出?
我需要在我的Windows服務中捕獲這些響應。
我創建功能
using (var p = new System.Diagnostics.Process())
{
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = @"C:\ThirdPartyApplications.exe";
p.StartInfo.Arguments = "3";
p.Start();
string o = p.StandardOutput.ReadToEnd();
p.WaitForExit();
}
我怎麼能抓住這個輸出?
編輯
using (var p = new System.Diagnostics.Process())
{
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = @"C:\ThirdPartyBatch.bat";
p.StartInfo.Arguments = "file.zip -user.properties";
p.Start();
string o = p.StandardOutput.ReadToEnd();
p.WaitForExit();
}
批處理文件
@echo off
call run.bat %* 1>log\out.txt 2>log\err.txt
@echo code %ERRORLEVEL%
exit /B %ERRORLEVEL%
在這裏,在我的變量o,我沒有得到消息 「代碼10」
,如果我有
在這裏,我得到消息「Hel LO」,但如果我改變批處理文件
@ECHO off
call run.bat %* 1>log\out.txt 2>log\err.txt
ECHO Hello
PAUSE
我沒有得到消息‘你好’
任何幫助嗎?
你的代碼有什麼問題? – 2011-12-14 10:17:30