精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

概述C#調用Windows服務

開發 后端
本文介紹C#調用Windows服務,Windows服務是獨立于登錄用戶而工作的Windows應用程序,它通常在計算機啟動時開始執行,且常常連續執行,直到計算機關閉為止。

Windows服務是獨立于登錄用戶而工作的Windows應用程序,它通常在計算機啟動時開始執行,且常常連續執行,直到計算機關閉為止。像Exchange Server,IIS和殺毒軟件等都使用這種方式,這樣就可以獨立于某一用戶而且可以在任何用戶登錄前來運行,同時也可以服務于所有的進程,從而以一種服務的形式存在。

正因為Windows服務有著這么多的特性,因此,當需要一些特殊功能的時候就可以考慮C#調用Windows服務來解決問題。比如下面我們要做的這個例子。對于我們這些程序設計人員,計算機是在一起工作時間最長的伙伴,每天都會對著它的屏幕八個小時以上,還不包括下班后在家打游戲的時間,因此,保護眼睛是最重要的了。問題的起因來源于本人周六去眼科對激光手術的復查,大夫一再向我強調眼睛的自我調節能力,就是說只要你能保證你每隔一個小時左右就閉眼休息或向遠處眺望,離開電腦屏幕,那么已經治好的近視就不會反彈。本人雖是自律性比較強的人,但在計算機屏幕面前就不再如此了,往往幾個小時也不抬頭一次,為了眼睛的健康,我決定把這個艱巨的任務交由計算機來完成,讓它在一小時左右自動提醒我休息五分鐘。如此一來,豈不是再也不用顧慮這件事了。

功能雖然簡單,但要寫個程序放在啟動組里每天自動運行也不是一個好的辦法,正巧以前也沒做過Windows服務,不如索性來試一試,同進也看看.NET為我們提供了多么先進的功能吧,于是決定,就用C#來做一個提醒我保護眼睛的Windows服務,取名就叫CareEye吧。

運行Visual Studio.NET 2003,建立一個C#調用Windows服務項目,在CareEye.cs的設計視圖提示可以把需要的控件和組件拖動到這上面,假如想要做系統日志的話當然就可以把EventLog組件拖過來了,不過這個程序好像不需要這些東西,還是算了吧。那么計時要不要采用計時器控件呢?想了一下,這個控件雖然好用,但太常用了,本著學習新知識的原則,最恰當的恐怕就是線程了,而且在以后做其他Windows服務的時候線程肯定是必需的,所以還是用線程好,這樣我只要在線程中完成對時間的監測,把線程的啟動和停止交給服務的啟動和停止,呵,很方便啊。

再來看CareEye.cs的源程序,一大堆沒見過的東西,不過仔細分析一下也就沒什么了。CareEye類派生于ServiceBase類,因此繼承了基本服務類的特性,顯然Main()方法會由SCM(服務控制管理程序)調用,在這個方法中Run一個新的CareEye實例,這樣就運行了一個Windows服務,OnStart()和OnStop()明顯是用于啟動和停止服務的響應函數了。

注意在Main()方法中有一個ServiceBase[]的數組,它是為那些一個服務進程包含多個服務準備的,對于這個程序來說,它只有一個 CareEye服務,因此完全可以把這個數組刪除,而只是使用System.ServiceProcess.ServiceBase.Run(new CareEye());一句就夠了。

接下來為了使用線程,需要引入System.Threading命名空間,為了使用對話框,還需要引入System.Windows.Forms命名空間,這是為了將來提示用戶時顯示對話框而準備的。

下面為類CareEye添加一個成員字段private Thread MainThread;同時在構造函數中對其進行初始化:

  1. MainThread=new Thread(new ThreadStart(ThreadFunc));  
  2. MainThread.Priority=ThreadPriority.Lowest; 

這里把線程的優先級設到最低,這樣不會耗用過多的系統性能。這個線程對象使用ThreadFunc作為線程函數,因此將這個線程函數補充完整:

  1. public static void ThreadFunc()  
  2. {  
  3. int LastHour=DateTime.Now.Hour;  
  4. while (true)  
  5. {  
  6. System.Threading.Thread.Sleep(60000);  
  7. if (DateTime.Now.Hour-1==LastHour)  
  8. {  
  9. MessageBox.Show,MessageBoxButtons.OK,MessageBoxIcon.Warning,
    MessageBoxDefaultButton.Button1,  
  10. MessageBoxOptions.DefaultDesktopOnly);  
  11. LastHour=DateTime.Now.Hour;  
  12. }  
  13. }  

余下的代碼就簡單了,只要在OnStart中啟動線程,在OnStop中停止線程就行了。

以上的服務程序雖然很簡單,線程的處理上也不很恰當,也違背了很多服務程序的原則比如界面顯示等,但對于本人的需求而言是足夠了,因此就如此制作了。如果你有需要,當然可以把對話框改為其他的提醒方式如響鈴等,線程也可以使用內核對象同時使用更好的處理方法。

Windows服務就做完了,余下的就是要測試了,但發現這個EXE無法運行,它會提示你該EXE需要使用安裝程序來安裝服務,看來不可能寫一個程序就算是Windows服務了,還要把它注冊到Windows才行。

接下來,右擊CareEye.cs的設計視圖,添加安裝程序,(VS.NET想得就是挺周到的),這下又出來一批代碼,不過好在不用改代碼了,只要把 Account的賬戶類型設成LocalSystem,把StartType設成手動啟動就行了,這里用手動是為了方便調試,以后可以改成自動類型。

編譯完后,還是無法運行,此處還需要一步,就是運行installutil來安裝這個服務,其安裝和卸載的用法為:

installutil CareEye.exe
installutil /u CareEye.exe

安裝完后能過系統的服務管理器你就可以看到你的服務了,只要點擊啟動就可以把它啟動,把時間向前改一個小時它就會提醒你需要休息了,呵呵,夠簡單了吧。

如果你想制作成安裝包分發給自己的朋友,只需要再添加個部署項目就行了,不過為了完成自注冊,要在自定義操作編輯器中的安裝階段添加一個自定義的安裝操作,把InstallerClass屬性設成TRUE即可。

以下是careeye.cs的源程序:

  1. using System;  
  2. using System.Collections;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Diagnostics;  
  6. using System.ServiceProcess;  
  7. using System.Threading;  
  8. using System.Windows.Forms;  
  9. namespace CareEye  
  10. {  
  11. public class CareEye : System.ServiceProcess.ServiceBase  
  12. {  
  13. private Thread MainThread;  
  14. /// <summary> 
  15. /// 必需的設計器變量。  
  16. /// </summary> 
  17. private System.ComponentModel.Container components = null;  
  18.  
  19. public CareEye()  
  20. {  
  21. // 該調用是 Windows.Forms 組件設計器所必需的。  
  22. InitializeComponent();  
  23.  
  24. // TODO: 在 InitComponent 調用后添加任何初始化  
  25. MainThread=new Thread(new ThreadStart(ThreadFunc));  
  26. MainThread.Priority=ThreadPriority.Lowest;  
  27. }  
  28.  
  29. // 進程的主入口點  
  30. static void Main()  
  31. {  
  32. //System.ServiceProcess.ServiceBase[] ServicesToRun;  
  33.  
  34. // 同一進程中可以運行多個用戶服務。若要將  
  35. //另一個服務添加到此進程,請更改下行  
  36. // 以創建另一個服務對象。例如,  
  37. //  
  38. // ServicesToRun = New System.ServiceProcess.ServiceBase[] {
    new CareEye(), new MySecondUserService()};  
  39. //  
  40. //ServicesToRun = new System.ServiceProcess.ServiceBase[] { 
    new CareEye() };  
  41.  
  42. System.ServiceProcess.ServiceBase.Run(new CareEye());  
  43. }  
  44.  
  45. /// <summary> 
  46. /// 設計器支持所需的方法 - 不要使用代碼編輯器  
  47. /// 修改此方法的內容。  
  48. /// </summary> 
  49. private void InitializeComponent()  
  50. {  
  51. //  
  52. // CareEye  
  53. //  
  54. this.ServiceName = "CareEye";  
  55.  
  56. }  
  57.  
  58. /// <summary> 
  59. /// 清理所有正在使用的資源。  
  60. /// </summary> 
  61.  
  62. protected override void Dispose( bool disposing )  
  63. {  
  64. if( disposing )  
  65. {  
  66. if (components != null)  
  67. {  
  68. components.Dispose();  
  69. }  
  70. }  
  71. base.Dispose( disposing );  
  72. }  
  73.  
  74. /// <summary> 
  75. /// 設置具體的操作,以便服務可以執行它的工作。  
  76. /// </summary> 
  77. protected override void OnStart(string[] args)  
  78. {  
  79. // TODO: 在此處添加代碼以啟動服務。  
  80. MainThread.Start();  
  81. }  
  82.  
  83. /// <summary> 
  84. /// 停止此服務。  
  85. /// </summary> 
  86. protected override void OnStop()  
  87. {  
  88. // TODO: 在此處添加代碼以執行停止服務所需的關閉操作。  
  89. MainThread.Abort();  
  90. }  
  91. public static void ThreadFunc()  
  92. {  
  93. int LastHour=DateTime.Now.Hour;  
  94. while (true)  
  95. {  
  96. System.Threading.Thread.Sleep(60000);  
  97. if (DateTime.Now.Hour-1==LastHour)  
  98. {  
  99. MessageBox.Show,MessageBoxButtons.OK,MessageBoxIcon.Warning,
    MessageBoxDefaultButton.Button1,MessageBoxOptions.DefaultDesktopOnly);  
  100. LastHour=DateTime.Now.Hour;  
  101. }  
  102. }  
  103. }  
  104. }  
  105. }  

以上介紹C#調用Windows服務

【編輯推薦】

  1. C#字符串進行分割
  2. 全面測試C#字符串
  3. C# out和ref傳遞數組
  4. 淺析C#定義整型數組
  5. C#數據庫連接字符串
責任編輯:佚名 來源: MSDN
相關推薦

2009-08-17 09:57:00

C# Windows

2009-08-21 17:11:41

C#調用Active組

2009-08-07 17:19:50

C#調用外部進程

2009-08-24 14:19:27

C# Windows應

2009-09-03 16:20:14

C#調用Windows

2009-07-31 16:12:10

Windows APIC#

2009-08-03 13:34:57

C#調用Windows

2009-08-17 13:18:01

C#調用Windows

2009-08-25 15:38:12

C# Windows服

2009-08-31 09:44:23

C# Employee

2009-09-03 11:15:38

C#設置Coopera

2009-08-13 15:18:23

C#文件上傳

2009-08-18 09:26:07

C#線程功能

2009-07-31 14:08:54

C# 匿名函數

2009-08-18 17:29:02

C#使用指針

2009-08-24 18:09:13

C#構造函數

2009-08-20 16:28:45

C#匿名方法

2009-09-03 10:42:16

C# Employee

2009-08-19 11:09:00

C# Cast<T>

2009-08-25 16:49:44

C#使用if語句
點贊
收藏

51CTO技術棧公眾號

91久久国产综合| 不卡中文字幕在线观看| 麻豆导航在线观看| 久久国产欧美日韩精品| 精品少妇一区二区30p| 一区二区三区少妇| 国产aⅴ精品一区二区四区| 亚洲午夜电影在线| 婷婷四房综合激情五月| 国产 日韩 欧美 综合| 日日摸夜夜添夜夜添精品视频 | 欧美成人精品一区二区免费看片| 最新国产一区| 亚洲国产精品成人精品| 中文字幕第22页| 日本另类视频| 精品久久久免费| 无颜之月在线看| jizzjizz在线观看| 久久这里只有精品首页| 成人av免费在线看| 国产又粗又猛又爽又黄的| 久久福利影视| 98精品在线视频| 久久午夜鲁丝片午夜精品| 久久中文字幕二区| 亚洲天堂久久av| 三级电影在线看| 天堂精品在线视频| 5858s免费视频成人| 日韩中文字幕组| 在线观看爽视频| 五月激情综合婷婷| 成人免费观看cn| 青草视频在线免费直播| 亚洲欧洲精品成人久久奇米网| 欧美中文娱乐网| 青青视频在线观| caoporm超碰国产精品| 国产精品对白一区二区三区| 国产精品高潮呻吟AV无码| 欧美aaaaa成人免费观看视频| 羞羞色国产精品| 久久久综合久久久| 伊人久久大香线蕉综合热线| 欧美成人午夜免费视在线看片| 成人黄色短视频| 日韩av自拍| 亚洲香蕉伊综合在人在线视看| 大又大又粗又硬又爽少妇毛片| 日韩有码一区| 亚洲免费福利视频| 伊人网在线视频观看| 日韩动漫一区| 亚洲欧洲视频在线| 精品日韩在线视频| 久久精品免费一区二区三区| 久久午夜a级毛片| 国产黄色片在线免费观看| 欧美激情1区2区3区| 色综合久久悠悠| 福利一区二区三区四区| 日韩视频久久| 日本久久精品视频| 一区二区视频免费| 国产剧情一区在线| 国产高清自拍一区| 男人的天堂在线视频| 日本一区二区综合亚洲| 亚洲一区二区三区免费看| 超碰在线最新| 亚洲6080在线| 成人精品视频一区二区| 亚洲精品66| 精品国产亚洲在线| 丰满圆润老女人hd| 国产高清一区二区| 欧美激情精品久久久久久大尺度| 伊人手机在线视频| 日韩国产欧美在线观看| 91视频九色网站| 无码国产伦一区二区三区视频| 久久久精品人体av艺术| 人人妻人人澡人人爽精品欧美一区| 永久免费网站在线| 色综合 综合色| 国产精品探花在线播放| 一区二区小说| 北条麻妃久久精品| 日韩xxx高潮hd| 久久精品国产99久久6| 成人在线视频网址| 日本中文字幕在线观看| 亚洲 欧美综合在线网络| 九九九在线观看视频| 一区二区免费| 视频在线观看一区二区| 日本一级淫片免费放| 奇米888四色在线精品| 国产精品久久久久久久久久久久午夜片| 国产原创av在线| 一区二区高清视频在线观看| 国内自拍视频一区| 国产精品22p| 久久在线免费观看视频| 国产无遮挡又黄又爽又色视频| 国产馆精品极品| 日本在线观看一区| 华人av在线| 91精品中文字幕一区二区三区| 呦呦视频在线观看| 欧美精品九九| 亚洲www在线| h视频在线免费| 狠狠躁夜夜躁人人爽超碰91| 久久久久亚洲av片无码v| 欧美日韩国产在线观看网站| 68精品久久久久久欧美| 亚洲av无码国产精品永久一区 | 亚洲天堂日韩av| 国产一区二区毛片| 西游记1978| 黄色成人免费网| 日韩大陆欧美高清视频区| 久久亚洲AV无码| 国产精品亚洲а∨天堂免在线| 无遮挡亚洲一区| 88xx成人永久免费观看| 亚洲精品一区二三区不卡| 精品一区免费观看| 国产成人精品影视| 强伦女教师2:伦理在线观看| 成人看片毛片免费播放器| 伊人伊成久久人综合网站| 一级片视频在线观看| 99精品久久久久久| 青娱乐自拍偷拍| 欧美理论电影在线精品| 久久久久久国产精品| 精品国产av一区二区| 亚洲欧洲精品天堂一级| 久久国产这里只有精品| 日韩一区二区三区免费播放| 国产精品视频区| 三区四区在线视频| 欧美精品一二三| 国产高清视频免费在线观看| 日本成人中文字幕| 一区二区三区四区五区精品 | 2019中文字幕在线电影免费| 欧美大片顶级少妇| 国产午夜久久久| 99re在线精品| 日日碰狠狠丁香久燥| 日韩在线观看一区 | 色噜噜狠狠一区二区| 日韩理论电影院| 成人午夜一级二级三级| 天堂av中文在线| 亚洲成人av在线| 亚洲影院在线播放| 中文字幕免费在线观看视频一区| 最近中文字幕一区二区| 亚洲91视频| 国产乱码精品一区二区三区日韩精品 | 中文字幕国产精品一区二区| 国产原创精品在线| 欧美极品一区二区三区| 久久久久久国产精品免费免费| 最新日韩三级| 久久精品91久久久久久再现| 亚洲成人精品女人久久久| 黄网站色欧美视频| 欧美性受xxxx黑人| 国产精品911| 大陆极品少妇内射aaaaa| 欧美色图一区| 99久久久久国产精品免费| 国内精彩免费自拍视频在线观看网址 | 国产成人精品无码片区在线| 石原莉奈在线亚洲二区| 手机看片日韩国产| 亚洲美女久久| 亚洲va久久久噜噜噜久久天堂| 免费v片在线观看| 色诱女教师一区二区三区| 免费观看国产视频| 91福利视频久久久久| 青娱乐91视频| 国产精品无码永久免费888| 亚洲精品一二三四| 丝袜美腿亚洲色图| www.激情网| 成人激情免费视频| 狠狠久久综合婷婷不卡| 日韩电影免费观看高清完整版在线观看| 久久久久国产精品www| 午夜激情视频在线| 亚洲欧洲一区二区三区久久| 亚洲va久久久噜噜噜无码久久| 在线观看一区二区视频| 国产大片中文字幕| 亚洲视频 欧洲视频| 欧美色图亚洲激情| 成人a区在线观看| 午夜大片在线观看| 免费人成精品欧美精品| 欧美国产视频一区| 国产精品成人一区二区不卡| 欧美成人蜜桃| 精品视频在线你懂得| 91精品在线国产| 成人精品动漫| 国产精品国产亚洲伊人久久| www.色在线| 欧美另类第一页| 在线a免费看| 一区二区三区美女xx视频| 日本美女一级片| 日韩欧美成人午夜| av片免费播放| 7777精品伊人久久久大香线蕉经典版下载 | 国产美女一区视频| 久久亚洲精品网站| 日本三级视频在线播放| 国产一区二区三区日韩欧美| 黄色软件在线| 亚洲免费视频一区二区| 性插视频在线观看| 亚洲第一av网| 色呦呦免费观看| 精品国产制服丝袜高跟| 国内精品偷拍视频| 91精品国产全国免费观看| 国产精品一区二区av白丝下载 | 亚洲精品久久久久久动漫器材一区| 在线电影一区二区三区| 91精品国自产| 欧美福利电影网| 91在线观看喷潮| 欧美精品日日鲁夜夜添| 一区二区国产欧美| 在线成人免费观看| 国产美女明星三级做爰| 91精品国产入口在线| 午夜精品一区二区三| 精品少妇一区二区三区免费观看| 午夜精品久久久久久久91蜜桃| 欧美成人三级电影在线| 黄色一级a毛片| 亚洲国产一区二区三区四区| 天天综合永久入口| 亚洲色图美腿丝袜| 色视频在线免费观看| 裸体女人亚洲精品一区| 欧美精品videossex少妇| 欧美激情一区二区三级高清视频 | 亚洲欧美伊人| 欧美 丝袜 自拍 制服 另类| 久久国产精品久久久久久电车 | 国产高清视频一区二区| 亚洲最大成人免费视频| 国内精品国产成人国产三级粉色| 久久99精品久久久久子伦| 伊人春色精品| 一区二区三区四区| 激情偷拍久久| 国产三级三级三级看三级| 国产制服丝袜一区| 免费看黄色片的网站| 久久精品亚洲精品国产欧美kt∨| 久久精品日韩无码| 亚州成人在线电影| 青青草视频在线观看免费| 欧美一级片在线| 特黄视频在线观看| 国产一区二区三区免费视频| 超碰caoporn久久| 91精品国产91久久久久久吃药| 78精品国产综合久久香蕉| av成人综合网| 欧美日韩高清| 蜜臀精品一区二区| 麻豆视频一区二区| 中文成人无字幕乱码精品区| 国产精品嫩草影院av蜜臀| 国产午夜福利精品| 欧美日韩美女一区二区| 亚州av在线播放| 久热精品视频在线免费观看| 黄色综合网址| 国产精品成人观看视频免费| 日韩黄色大片网站| 久久久久久久午夜| 国产精品一二三四五| 欧美丰满美乳xxⅹ高潮www| 亚洲午夜视频在线观看| 中文字幕av片| 日韩精品在线影院| 男女在线观看视频| 成人高清视频观看www| 中国av一区| 日韩欧美不卡在线| 国产在线一区二区| 欧美成人另类视频| 欧美日韩免费在线| 日本高清视频www| 久久大大胆人体| 成人在线视频免费看| 欧美二区在线看| 99综合在线| 制服丝袜在线第一页| 亚洲欧美日韩国产综合在线| 亚洲无码精品一区二区三区| 亚洲国产精品va在线观看黑人| 最新超碰在线| 亚洲一区二区少妇| 久久中文字幕av一区二区不卡| 黄色一级大片在线观看| av网站一区二区三区| 国产亚洲精品码| 欧美一级片免费看| caopo在线| 91系列在线播放| 手机在线电影一区| 午夜免费福利在线| 国产欧美精品区一区二区三区| 国产精品视频一区在线观看| 亚洲美女中文字幕| 国产精品迅雷| 欧美日韩精品久久| 久久天天综合| 手机看片日韩av| 欧美在线一区二区三区| 国产精品天堂| 国产精品午夜国产小视频| 欧美三级三级| 美女网站视频黄色| 国产精品美女久久久久久 | 国内精品在线播放| 天海翼在线视频| 91精品国产品国语在线不卡| 成人黄色网址| 成人女人免费毛片| 一本色道久久| 最新中文字幕视频| 欧美影院一区二区三区| 99riav在线| 91免费电影网站| 欧美1区3d| 白嫩情侣偷拍呻吟刺激| 欧美性xxxx极品高清hd直播| 欧美视频综合| 国产精品视频yy9099| 久久久久午夜电影| 亚洲av熟女高潮一区二区| 欧美视频中文字幕在线| 国产乱子伦三级在线播放| 国产日本欧美一区| 女生裸体视频一区二区三区| 亚洲女则毛耸耸bbw| 欧美天堂在线观看| aaa在线观看| 91九色偷拍| 亚洲中午字幕| 少妇太紧太爽又黄又硬又爽小说| 67194成人在线观看| 黄色在线免费观看网站| 色播亚洲婷婷| 东方aⅴ免费观看久久av| 精品不卡一区二区| 色琪琪综合男人的天堂aⅴ视频| 日韩免费高清视频网站| 中文字幕乱码人妻综合二区三区| 中文字幕乱码一区二区免费| www.xxx国产| 日韩av免费在线观看| 欧美在线播放| 91精品人妻一区二区三区蜜桃欧美| 欧美日韩一区二区三区在线| 国产亚av手机在线观看| 日韩精品欧美在线| 国产suv一区二区三区88区| 91porny九色| 色综合久久中文字幕综合网小说| 国产精品欧美在线观看| 少妇献身老头系列| 欧美影院精品一区| av福利导福航大全在线| 亚洲图片都市激情| 91免费看视频| a级片在线免费看| 国产成人激情小视频| 欧美区国产区| 亚洲图片第一页| 日韩电影免费观看在线观看| 欧美特黄不卡| 日韩大片一区二区| 欧美性生交大片免费| 久久99亚洲网美利坚合众国|