2014-04-09 3 views
0

C# winform으로 알림 응용 프로그램을 개발했습니다. 하지만 지금은이 10 초마다 알림 창을 표시하는 기능을 추가하고 싶습니다.C#에서 백그라운드 프로세스를 수행하는 시스템 트레이 응용 프로그램을 개발하는 방법은 무엇입니까?

내 전체 응용 프로그램의 아이디어는 :

나는 배경에 상주 할 수있는 응용 프로그램을 개발하고자합니다. A 시스템 시도 아이콘 표시는 항상 표시됩니다. 사용자가이 아이콘을 클릭하면 컨텍스트 메뉴가 열리고 몇 가지 옵션이 있습니다. 사용자가 메뉴를 클릭하면 거기에 WinForm이 나타납니다. 처음으로이 응용 프로그램 이 실행되면 구성 양식이 표시됩니다. 또한 각 10 초에 알림 창이 표시됩니다. 이 알림 창은 작은 창으로, 화면 오른쪽 하단에 나타납니다. 처럼 바이러스 백신 알림을 빠르게 치료합니다. 이 응용 프로그램 또는 서비스는 컴퓨터가 시작될 때 자동으로 시작됩니다.

using (ProcessIcon ProccIcon = new ProcessIcon()) // ProcessIcon class encapsulating whole functionlity of system tray icon 
{ 
    ProccIcon.Display(); // This will display process icon 

    // Make sure the application runs! 
    Application.Run(); // application start, when user click on tray icon, menu will display and application execution stuck here until application will not terminate. 
} 

그래서, 문제는 이러한 유형의 응용 프로그램을 개발할 수있는 가장 좋은 방법은 무엇입니까,입니다 :

현재 나는이 방법을 사용하고 있습니다. winform 응용 프로그램이어야합니까? 또는 GUI 지원이있는 Windows 서비스? 아니면 다른. WinForm에 있어야한다면,이 두 가지를 위해 무엇을해야합니까?

  1. 컴퓨터가 시작될 때 자동 시작 응용 프로그램.
  2. 정기적으로 백그라운드에서 실행하고 일정 시간 간격으로 경고를 표시해야합니다.

답변

0

나는 이것이 Window Service 여야한다고 생각한다.

항상 실행해야하는 경우

,이 서비스해야한다 :

내 엄지 손가락의 규칙이있다.

당신이 시작 폴더에서 exe를 복사 할 수 있습니다 :

편집을 위해 (시스템 시작 때마다 응용 프로그램을 시작하려면). 컴퓨터가 시작될 때마다 Exe가 자동으로 시작됩니다.

How to create Window Service Application

:

또는

추가 레지스트리 당신이 BackGroundWorker

중요 링크를 사용할 수있는 두 번째 점의 경우 응용 프로그램

private void RegisterInStartup() 
{ 
    RegistryKey registryKey = Registry.CurrentUser.OpenSubKey 
      ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); 

    registryKey.SetValue("ApplicationName", Application.ExecutablePath); 

} 

시작

BackgraundWorker Class

+0

질문에 대한 마지막 2 점에 대해 자세히 알려 줄 수 있습니까? 그것은 나를 위해 더 도움이 될 것입니다. –

+0

수정 부분보기 ... – vikky

+0

응용 프로그램을 자동으로 시작할 수있는 다른 방법이 있습니까? 그리고 backgound 작업자는 winform에서 잘 작동하지만, 여기서는 활성화 된 winform이 없습니다.이 경우 어떻게해야합니까? –