【发布时间】:2011-02-19 15:10:01
【问题描述】:
我得到了这个代码(lg_log 是一个列表框,我希望它记录 start_server.bat)这是我得到的代码:
public void bt_play_Click(object sender, EventArgs e)
{
lg_log.Items.Add("Starting Mineme server ..");
string directory = Directory.GetCurrentDirectory();
var info = new ProcessStartInfo(directory + @"\start_base.bat") {UseShellExecute = false, RedirectStandardOutput = true, CreateNoWindow = true, WorkingDirectory = directory + @"\Servers\Base"};
var proc = new Process { StartInfo = info, EnableRaisingEvents = true };
proc.OutputDataReceived += (obj, args) =>
{
if (args.Data != null)
{
lg_log.Items.Add(args.Data);
}
};
proc.Start();
proc.BeginOutputReadLine();
lg_log.Items.Add("Server is now running!");
proc.WaitForExit();
}
当我运行这个时,我会得到一个错误..
编辑:我得到的错误是:System.InvalidOperationException 希望它有帮助:)
错误出现在 lg_log.Items.Add(args.Data);代码行
【问题讨论】:
-
你能提供你得到的错误吗?
-
请完整的例外。说“InvalidOperationException”是无用的信息。
-
对不起 :) 我解决了这个问题 - 谢谢你帮了我很多忙!
标签: c# multithreading batch-file