我有一个我一直在开发的应用程序,它只是使用 dcmtk 发送和接收 dicom 文件。我目前的问题是我需要帮助,试图找出一种在调用时主动监控 exe 的方法。因此,一旦我的代码运行,它将控制台输出吐出到文本框。我抓住该文本框中的最后一个条目,如果它是“我:释放关联”并且 storescu 关闭,它将删除文件夹中的所有项目(dicompath)
startInfo2.ErrorDataReceived += proc_DataReceived;
startInfo2.OutputDataReceived += proc_DataReceived;
startInfo2.Start();
startInfo2.BeginOutputReadLine();
startInfo2.WaitForExit(10);
//Thread.Sleep(1000);
DeBug.Invoke(new MethodInvoker(delegate { DeBug.Text = finalpath; }));
Process[] processes = Process.GetProcessesByName("storescu-beta.exe");
foreach (Process p in processes)
{
IntPtr pFoundWindow = p.MainWindowHandle;
if (trig.Text == "I: Releasing Association")
clearFolder(dicompath);clearFolder(dicompath);
}
到目前为止,我还无法让这些工作。似乎文本框的输出正在尝试在它那里寻找“我:释放关联”,所以我需要以某种方式添加等待它完成更新。文本框的每个输出都是控制台的一行,所以在最后它只有“我:释放关联”。至于监控storescu-beta.exe,我一头雾水,因为我不知道如何在调用时主动监控它的运行状态。