2012-03-21 2 views
0

버튼을 만든 후 버튼을 누른 후 프로세스가 시작됩니다. 이제 응용 프로그램의 닫기 ('X') 버튼을 누르면, 응용 프로그램이 닫힙니다. 나는 단추의 클릭으로 모든 일이 일어나길 원합니다. 즉 처음 버튼을 클릭하면 프로세스가 닫히고 같은 버튼을 다시 누르 자마자 & 프로세스를 시작해야합니다.버튼 시작시 프로세스 시작 및 끝

답변

0

응용 프로그램이 이미 실행중인 경우 (즉, 처음 버튼을 누른 경우) true 값을 저장하는 플래그를 사용할 수 있습니다. 그런 다음 간단한 if 조건을 사용하여 해당 기능을 호출하십시오.

1

여기 있습니다. 주석은 코드 안에 있습니다.

using System.Diagnostics; 

/// <summary> 
/// Process started by our app 
/// </summary> 
Process process; 

private void button1_Click(object sender, EventArgs e) 
{ 
    // Haven't been started yet or user closed it 
    if (process == null || process.HasExited) 
    { 
     // Do open 
     try 
     { 
      process = Process.Start("notepad.exe"); 
     } 
     catch (Exception ex) 
     { 
      // Inform user about error 
     } 
    } 
    // It is started 
    else 
    { 
     // many a thing can go wrong here. 
     // Even something as simple as user closing the app himself 
     try 
     { 
      // Send app instruction to close itself 
      if (!process.CloseMainWindow()) 
      { 
       // Unable to comply - has to be put to death 
       // Merciful people might give it a few retries 
       // before execution 
       process.Kill(); 
      } 
     } 
     catch (Exception ex) 
     { 
      // Inform user about error 
     } 
     finally 
     { 
      // So the cycle of life can start again 
      process = null; 
     } 
    } 
} 
+0

고맙습니다. 지금 버튼을 클릭하면 내 응용 프로그램이 열리 며 닫는 버튼 ('X')을 다시 누르면 응용 프로그램을 다시 열 때 다시 버튼을 두 번 클릭해야합니다. 클릭 한 번으로 도와주세요. – vaibhav271

+0

샘플을 변경했습니다. 찾을거야 _ || process.HasExceeded는 메소드 시작 부분입니다. –

+0

버튼 하나를 클릭하여 창 양식을 닫는 방법에 대해 한 가지 더 의문이 있습니다. – vaibhav271