2010-11-23 7 views
2

시작시로드되고 2 시간마다 풍선 텍스트가 튀는 시스템 트레이 응용 프로그램을 만들려고합니다. 그러한 예가 있다면 위대한 것입니다.2 시간마다 알려주는 시스템 트레이 응용 프로그램

내가 찾고 있습니다.

WPF, 타이머, 대표, 이벤트

나는이 충분하거나 좀 더 뭔가를 필요로하는 경우에 확실하지 않다.

미리 감사드립니다.

답변

1

나는 그것들로 괜찮을 것이라고 생각합니다. 실제로 필요한 것은 NotifyIcon과 Timer뿐입니다. 나는 WPF를 사용하지 않는다는 점을 제외하고는 이와 비슷한 방식으로 성취했다. (오히려 '클래식'윈도우 디자이너를 사용했다.)

시작시 앱을 시작하는 가장 간단한 방법은 시작 메뉴의 시작 폴더에 넣는 것입니다. 실제로 레지스트리를 사용할 필요가 없습니다.

0

Windows 서비스가 백그라운드에서 실행하는 데 가장 좋은 방법 일 수 있지만 서비스에서 GUI에 액세스하는 것은 까다로울 수 있습니다 (별다른 문제라고 생각하지 않습니다). http://social.msdn.microsoft.com/Forums/en/wpf/thread/aaffea95-e735-492d-bd8a-2fdf7099a936

+0

간헐적으로 사용되는 작업 스케줄러가 이미 있다는 점을 제외하고는 코드를 자주 실행하는 경우 서비스가이 시스템의 좋은 구성 요소라는 것을 알 수있었습니다. – zanlok

1

첫째 : http://www.codeproject.com/KB/WPF/WPF_xaml_taskbar_window.aspx

당신은 DispatcherTimer를 사용하여, 2 시간마다 알림을 효율적으로 활용하려면 다음 작업 트레이 통지를 할 수있는 WPF 데스크톱 앱

는, 데모 및 소스 코드와이 프로젝트를 참조 여기에 시스템 시작시 응용 프로그램을 시작하는 데 필요한 것이 있습니다. checkBox가 있고이 확인란을 활성화하면 Windows 시작시 응용 프로그램을 시작한다고 가정 해 보겠습니다.

RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); 
private void checkBox_autoStart_Checked(object sender, RoutedEventArgs e) 
    { 
    rkApp.SetValue("Your Application Name Here",Assembly.GetExecutingAssembly().Location); 
    } 

그의 비활성화에 대해 당신이 때라도 않습니다

private void checkBox_autoStart_Unchecked(object sender, RoutedEventArgs e) 
    { 
     rkApp.DeleteValue("Your Application Name Here", false); 
    } 

추신 : 귀하의 응용 프로그램 이름은 작업 관리자에 당신이 거기를 작성하는 방법을 표시됩니다

그리고이 아이콘을 통지 사용에 대한

, 실제로 WPF는 준비된 것을 지원하지 않으므로 Windows Forms Notify 아이콘을 사용하거나 codeproject.com의 nother 응답에 언급 된 것을 사용하십시오.

이미 Windows에있는 것을 사용하려면 양식을 작성하려면 System.Windows.Forms에 대한 참조를 프로젝트

관련 문제