2012-02-23 96 views
-3

如何在c#中每12小時彈出一條消息?我怎樣才能讓消息每12小時彈出一次?

我只是以郵件爲例,謝謝。

+0

您需要添加一些細節。這應該是一個系統消息或從正在運行的GUI應用程序?應該在什麼時間間隔開始?這是固定時間(00:00和12:00 AM)還是啓動後12小時? – Filburt 2012-02-23 12:02:27

回答

1

就像您每隔x個小時運行一次的其他方式一樣 - 您會編寫一個程序彈出消息並使用Windows計劃任務系統每隔x小時調用一次。

保持12個小時的忙碌程序沒有意義,偶爾做一個短暫的低資源活動。

0

你應該做一個小的Windows應用程序,並把它的服務器上,並使其運行每12小時分配計劃任務爲它提供託管的包裝,這通常是最好的做法此

控制面板 - >計劃任務 - >創建基本任務

-1

最簡單的方法是:創建一個Windows服務,後臺運行。並使用此代碼來顯示彈出消息:

while(true) 
{ 
MessageBox.Show("hello there!"); 
Thread.Sleep(12*60*60*1000); 
} 

只是不要忘記讓你的服務與桌面交互。

0
DateTime targetDate = DateTime.Now; 
    public void ShowMessage() 
    { 
     if (DateTime.Now > targetDate) 
     { 
      targetDate = DateTime.Now.AddHours(12); 
      MessageBox.Show("hello!"); 
     } 
    } 

你可以設置Timer調用此方法在一定的時間間隔

0

,請不要使用Thread.sleep()方法長期睡! MSDN明確指出,睡眠>幾分鐘 - 小時非常非常不準確。睡眠時間越長,它們越不精確。

最好的解決方案是使用任務計劃程序。如果它應該是獨立平臺,你可以使用一個5分鐘睡眠的循環。但這也不是很確切。

0

在Windows應用程序創建一個通知圖標,彈出的消息可以顯示,然後使用定時器控制,檢查時間差

相關問題