程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅:C#開發Windows Service程序(下)(1)

C#發現之旅:C#開發Windows Service程序(下)(1)

編輯:關於C語言

類似的對於“停止服務”,其點擊事件處理為

private void btnStopService_Click(object sender, EventArgs e)
{
    if (bolServiceInstalled == false)
        return;
    using (System.ServiceProcess.ServiceController control = new System.ServiceProcess.ServiceController("MyFileSystemWatcher"))
    {
        if (control.Status == System.ServiceProcess.ServiceControllerStatus.Running)
        {
            control.Stop();
        }
    }
}

在這個處理過程中,若判斷出服務狀態為運行中,則調用控制器的Stop方法 來停止服務。在這裡Stop方法內部只是通知操作系統停止指定的服務,它發送通知後立即返 回,不會等待服務停止後返回。

我們還在窗體上放置一個定時器控件,定時間隔為2 秒,用於根據服務的狀態刷新工具條按鈕狀態,其定時事件處理為

private void myTimer_Tick(object sender, EventArgs e)
{
    if (bolServiceInstalled == false)
        return;
    using (System.ServiceProcess.ServiceController control = new System.ServiceProcess.ServiceController("MyFileSystemWatcher"))
    {
        btnStartService.Enabled = (control.Status == System.ServiceProcess.ServiceControllerStatus.Stopped);
        btnStopService.Enabled = (control.Status == System.ServiceProcess.ServiceControllerStatus.Running);
    }
}

在這裡我們創建了一個綁定到文件系統監控服務的ServiceController對象 ,然後根據它的Status狀態來設置“啟動服務”和“停止服務”按鈕 的可用狀態。

系統配置對話框 dlgConfig

在客戶端主窗體中點擊工具條的 “系統配置”按鈕就會彈出系統設置對話框,該對話框的用戶界面為

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved