순서대로 실행해야하는 C# 프로그램이 3 개 있습니다 (TestCSharp1, TestCSharp2 및 TestCSharp3) .2nd 프로그램은 처음 완료된 후에 만 실행되어야하고 3은 1 및 2 완료 후에 만 실행되어야합니다 . 어떻게해야합니까? 지금은 예약 된 작업으로 처리했으며 수동으로 완료했는지 확인한 다음 다른 작업을 시작합니다.다른 C# 프로그램에서 C# 프로그램 호출
답변
사용 Proccess
클래스 (Documentation)은 프로그램 내부에서 프로세스를 시작합니다. 다음은 설명서의 예입니다.
using System;
using System.Diagnostics;
using System.ComponentModel;
namespace MyProcessSample
{
class MyProcess
{
public static void Main()
{
Process myProcess = new Process();
try
{
myProcess.StartInfo.UseShellExecute = false;
// You can start any process, HelloWorld is a do-nothing example.
myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
myProcess.WaitForExit(); //use this if you want to pause execution of your program till the process you have started closes.
// This code assumes the process you are starting will terminate itself.
// Given that is is started without a window so you cannot terminate it
// on the desktop, it must terminate itself or you can do it programmatically
// from this application using the Kill method.
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
OP가 다른 프로세스를 먼저 완료하기를 원한다면'Process.WaitForExit()'에 주목할 수 있습니다. –
아 좋은 지적입니다. 예제에 추가하겠다. – pquest
명령 줄 프로그램을 실행 중이라고 가정하면 배치 파일에 세 개의 실행 파일이 포함 된 배치 파일을 만들고 예약 된 작업으로 배치 파일을 실행할 수 있습니다. 의견에서 볼 수 있듯이 Windows 프로그램이있는 경우이 방법은 작동하지 않습니다.
예.
@echo off
cd \ToTheRightPlace
TestCSharp1
TestCSharp2
TestCSharp3
당신은 반환 값을 검사 할 것 등
올바르지 않습니다. 배치 파일은 동시에 모든 것을 실행합니다. 이것은 포스터가 원하는 것이 아닙니다. 올바른 접근 방법은 System.Diagnostics 네임 스페이스의 Process 및 ProcessStartInfo 클래스를 사용하는 것입니다. –
dos 배치 파일은 한 번에 하나의 명령을 실행합니다. – AlG
때로는 항상 그런 것은 아닙니다. 프로그램 자체에 달려있다. 예를 들어 배치 파일에 3 개의 notepad.exe 프로세스가있는 경우,이 프로세스는 모두 동시에 또는 심지어 winword에서 실행됩니다. 적어도 그것은 내 시스템에서한다. –
- 1. C++ 프로그램에서 콘솔 응용 프로그램 호출
- 2. C# 프로그램에서 C DLL 호출
- 3. C 프로그램에서 C++ 함수 호출
- 4. swi_prolog C++ 프로그램 호출
- 5. Objective-C 프로그래밍을 사용하여 다른 응용 프로그램에서 응용 프로그램 호출
- 6. C 프로그램에서 Java 호출
- 7. C#/WPF에서 C++ 프로그램 호출
- 8. C++ : 외부 응용 프로그램 호출 C++ 프로그램
- 9. C 프로그램에서 .exe 파일 호출
- 10. C# 응용 프로그램에서 C++ DLL 호출
- 11. PHP에서 C 프로그램 호출
- 12. C에서 C++ 프로그램 호출 문제
- 13. 다른 프로세스에서 메서드 호출 C#
- 14. Java 프로그램에서 C 컴파일러 호출
- 15. pthread_create의 함수에서 C 프로그램 호출
- 16. C#/C++ C++ 응용 프로그램 호출 및 출력 받기
- 17. 다른 Java 프로그램 호출
- 18. C++ 프로그램에서 PHP 스크립트 호출
- 19. Java 프로그램에서 C++ 호출 오류
- 20. C#에서 exe 프로그램 호출
- 21. Java 프로그램에서 C 프로그램 컴파일
- 22. Java 프로그램에서 C++ 프로그램 시작
- 23. 다른 C++ 프로그램에서 C++ 프로그램을 실행하는 방법은 무엇입니까?
- 24. Corona 응용 프로그램에서 Obj-C 라이브러리 호출
- 25. C++ 프로그램에서 Win32 API 호출 추적하기
- 26. 다른 응용 프로그램에서 응용 프로그램 호출
- 27. C++ 프로그램 내에서 dll 함수 호출
- 28. C++ dll에서 VB 프로그램 호출
- 29. 루프 시스템 호출 C 프로그램
- 30. Perl 코드에서 C++ 프로그램 호출
왜 하나의 프로그램을 만들지 않습니까? – Alexander
@Alexander, 각 프로그램에서 이러한 순서로 발생해야하는 계산이 있습니다. – newbieCSharp
특정 순서로 계산하는 것은 정확히 하나의 프로그램에서 수행하는 것입니다. 하나의 프로그램이지, 많지는 않습니다. 많은 프로그램들이 모든 가능한 순서로 동시에 또는 한 번에 하나씩 실행될 수도 있고 전혀 명령되지 않을 수도 있습니다. – Alexander