VB.Net에서 사용자가 나중에 전자 메일을 보내도록 예약 할 수있는 응용 프로그램을 작성 중입니다. 응용 프로그램의 기본 폼이 닫힌 후에 백그라운드에서 실행되는 리스너 스레드를 유지하는 방법이 있습니까? 시스템을 부팅 할 때 리스너를 시작해야하지만 그 시점에 양식을 열지 않으려합니다.기본 폼을 닫은 후에 백그라운드에서 VB.NET 응용 프로그램을 실행하십시오.
예 (원하는 기능) : 오전에 응용 프로그램을 열고 3 개의 전자 메일을 예약합니다. 그 중 하나는 3 시간 이내에 보내야하고 나머지 두 개는 내일 아침에 보내야합니다. 신청서를 닫습니다. 3 시간 만에 첫 번째 메시지가 전송됩니다. 하루가 끝나면 나는 컴퓨터를 종료합니다. 내일 아침에 다시 켜면 다른 두 사람도 나없이 응용 프로그램을 열어 보냅니다.
나는 청취자를 서비스로 분리해야한다고 생각하지만, 그 길을 가기 전에 더 쉬운 방법이 없는지 확인하고 싶다.
결국 별도의 서비스와 응용 프로그램이 필요하다면 한꺼번에 설치하는 설치 프로그램을 만들 수 있습니까?
나는이 해결책을 좋아한다. 그것은 내 특정 응용 프로그램에 가장 적합한 것 같지만, 어떻게'메인'방법을 써야하는지 알아내는 데 어려움을 겪고있다. Do While True Loop와 같은 루프를 사용해야한다고 가정합니다. 그러나 사용자가 일부 데이터를 입력하려고 할 때 양식이 어떻게 시작됩니까? –
@ andrew.cuthbert 루프가 필요하지 않습니다. Formname.ShowDialog()를 통해 양식을 시작하십시오. -이 명령은 양식이 닫힐 때까지 대기합니다. 그 후에 당신은 전자 메일이 보내질 때까지 대기를 수행 할 수 있습니다. * 할 수있는 가장 쉬운 방법은 [응용 프로그램의 스레드를 정해진 시간 동안 잠자기 상태로 두는 것입니다.] (http://msdn.microsoft.com/en-us/library/274eh01d.aspx). –
하지만 응용 프로그램이 시작될 때 양식이 시작되는 것을 원하지 않습니다. 내 리스너 스레드를 시작하고 시작한 다음 사용자가 양식을 열거 나 닫아 이메일 실행 일정을 예약 할 수있게하려고합니다. –