通知我試圖讓加載啓動和彈出氣球文本中每2小時系統托盤中的應用。如果有這樣一個例子它很棒。系統托盤中的應用,以每2小時
我期待使用。
WPF, 定時器, 代表,事件
我不知道,如果這些都足以或做我需要更多的東西。
在此先感謝。
通知我試圖讓加載啓動和彈出氣球文本中每2小時系統托盤中的應用。如果有這樣一個例子它很棒。系統托盤中的應用,以每2小時
我期待使用。
WPF, 定時器, 代表,事件
我不知道,如果這些都足以或做我需要更多的東西。
在此先感謝。
我想你會沒事的。你所需要的只是一個NotifyIcon和一個Timer。我已經完成了類似的方式,除了我沒有使用WPF(我寧願使用'古典'窗口設計器)。
讓您的應用程序在啓動時啓動的最簡單方法可能是將其放入Start菜單的Startup文件夾中,實際上不需要使用註冊表。
Windows服務可能是在後臺運行的最佳選擇,但從服務訪問GUI(我認爲這並不重要)可能會非常棘手。
對於WPF桌面應用做一個托盤通知,看到這個項目的演示和源代碼:http://www.codeproject.com/KB/WPF/WPF_xaml_taskbar_window.aspx
爲了得到通知,每2個小時,你可以用一個DispatcherTimer: http://social.msdn.microsoft.com/Forums/en/wpf/thread/aaffea95-e735-492d-bd8a-2fdf7099a936
第一所有在這裏的是你需要了解你的啓動在系統啓動時應用什麼: 可以說我有一個複選框,我想開始我在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);
}
和有關的停用你的follwoing:
private void checkBox_autoStart_Unchecked(object sender, RoutedEventArgs e)
{
rkApp.DeleteValue("Your Application Name Here", false);
}
PS:您的應用程序名稱將出現在任務管理器,你把它寫在那裏的方式
以及使用一個通知圖標,實際上WPF不支持現成的,所以要麼你使用Windows窗體通知圖標,要麼使用codeproject.com提供的另一個答案中提到的那個圖標,如果你想使用Windows中已經存在的圖標,你可以使用下面的代碼:
表單,你必須在你的系統中添加對System.Windows.Forms的引用項目
我可以看到一個服務是這個系統的一個很好的組件,如果它經常運行代碼,除了已經有一個專門用於間歇性事件的任務計劃程序。爲什麼不使用它。 – zanlok 2010-12-14 00:27:23