簡體   English   中英

C#WinForms:創建后台通知應用程序

[英]C# WinForms: Creating a background notification application

出於實際目的,也作為學習練習,我想創建一個通知應用程序,以提醒我朋友的生日。 我希望該應用程序在后台運行,以便可以根據用戶配置的提醒檢查當前日期。 如果有提醒,則將向用戶顯示一個簡單的窗口,該窗口將允許他們暫停或取消該通知。 我希望該應用程序具有特定於用戶的通知(即,用戶B登錄時看不到用戶A的通知)。

選項1-Windows啟動時啟動的應用程序:我想通過檢查何時僅在應用程序啟動時顯示通知來簡化操作。 然后,我將在Windows啟動文件夾中放置一個快捷方式。 但是,如果PC每天進入睡眠狀態並恢復運行,則可能無法正常工作。

選項2-應用程序始終在后台運行:然后我考慮制作該應用程序,以便將其最小化到系統任務欄中的一個圖標,從而使其始終在后台運行。 然后它將定期檢查何時顯示通知。

選項3-將Windows Service與應用程序一起使用:然后,我考慮使用Windows Service進行有關何時顯示通知的定期檢查。 顯然,Windows服務無法顯示UI通知,因此它需要使用其他某種通知機制(例如,發送電子郵件)。 然后可以使用應用程序來配置服務使用的設置。

我還有沒有其他更好的選擇。 我目前傾向於在第一個實現中使用選項2,但之后可能會尋求一個更好的解決方案。

TIA

您的選項2是最佳選擇,因為您的目的是針對不同的用戶及其提醒-您的應用程序在特定用戶的上下文中運行,因此您已經知道需要顯示哪些余數。 當然,您可以選擇第三個選項,但是這種方式確實需要更多的時間來編寫代碼,並且代碼本身會更加復雜。 我會選擇第二種選擇。 由於您的應用程序是WinForms,因此對於定期檢查,我建議您使用System.Windows.Forms.Timer類。

順便說一句,在托盤通知區域中顯示圖標並不能使您的應用程序“在后台運行”,這只是顯示應用程序已啟動並正在運行的一種簡便方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM