일부 파일을 복사하는 백그라운드 작업자가 있습니다. 파일 복사가 끝나면 응용 프로그램을 시작하려고합니다. 내가 겪고있는 문제는 파일이 복사되는 동안 응용 프로그램을 시작하는 코드를 호출하여 사용 오류가있는 파일로 실행된다는 것입니다. 백그라운드 작업자가 완료 될 때만 특정 메서드가 호출되도록하기 위해 할 수있는 검사가 있습니까?메소드를 호출하기 전에 백그라운드 작업자가 완료 될 때까지
private void LaunchApplication(string targetPath, string targetExecutable)
{
CopyFiles();
Process.Start(Path.Combine(targetPath, targetExecutable));
}
CopyFiles는 BackGroundWorker의 DoWork 메서드 내에서 호출됩니다. Process.Start ...가 호출되기 전에 이걸 완전 finsih로 보내고 싶습니다. 이제 여러 개의 실행 파일을 여러 개의 단추에 묶어서 Process.Start ...를 RunWorkerCompleted 이벤트에 넣을 수 없습니다.
당신은 [RunWorkerCompleted (http://msdn.microsoft.com/en-gb/library/system.componentmodel.backgroundworker.runworkercompleted.aspx) 이벤트를 활용하고 있습니까? – DGibbs
응용 프로그램을 실행하기 전에 파일이 복사되었는지 확인할 수 있습니다. –
@DGibbs - 예,하지만 몇 가지 응용 프로그램을 시작할 수 있으며 사용자가 시작 버튼 중 하나를 클릭 할 때까지 어떤 응용 프로그램인지 알 수 없습니다. – Xaisoft