我正在开发一个WPF应用程序,供用户自动加载我们部门的Adobe After Effects项目。但是,当用户第一次调用它时,这是一个奇点。如果用户由于某种原因,在短时间内碰到多个项目,WPF应用程序会启动多个“Process.Start()”命令,这会导致After Effects崩溃错误。
当我发出“Process.Start”时,After Effects进程启动,操作系统说它正在运行,如果After Effects仍处于启动画面加载状态,尚未准备好使用。
是否有某种方法可以知道应用程序是否已启动且已加载并可以使用?
//Start process block
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo(artPath);
process.StartInfo = startInfo;
process.Start();
//Check processes running
Process[] processes = Process.GetProcesses();
foreach (Process singleProcess in processes)
{
if (singleProcess.ProcessName == "AfterFX")
{
return true; //process is running
}
}