bool RequestTask() { if (task_queue.Count == 0) { return(false); } process_task newTask = task_queue.Dequeue(); // pt.idx = count; // pt.desc = typeStr; // pt.startTime = DateTime.Now; desc = newTask.task_desc; //m_process.Close(); m_process = new Process(); m_process.StartInfo.FileName = newTask.app_name;// "ipconfig.exe"; m_process.StartInfo.UseShellExecute = false; m_process.StartInfo.RedirectStandardOutput = true; m_process.StartInfo.Arguments = newTask.app_args; //m_ue_process = Process.Start(app_name, command_arguments); m_process.Exited += process_Exited; m_process.OutputDataReceived += process_ReceiveOutput; m_process.Start(); m_process.BeginOutputReadLine(); SetState(1); UpdateStayTime(); return(true); }
public void AddTask(string typeStr, string app_name, string command_arguments) { process_task pt = new process_task(); task_idx++; pt.idx = task_idx; pt.task_desc = typeStr; pt.app_name = app_name; pt.app_args = command_arguments; task_queue.Enqueue(pt); }