在介紹如何創建windows服務程序以前,我先向大家介紹一些有關windows服務的背景知識。一個windows服務程序是在windows操作系統下能完成特定功能的可執行的應用程序。windows服務程序雖然是可執行的,但是它不像一般的可執行文件通過雙擊就能開始運行了,它必須有特定的啟動方式。這些啟動方式包括了自動啟動和手動啟動兩種。對于自動啟動的windows服務程序,它們在windows啟動或是重啟之后用戶登錄之前就開始執行了。只要你將相應的windows服務程序注冊到服務控制管理器(service control manager)中,并將其啟動類別設為自動啟動就行了。而對于手動啟動的windows服務程序,你可以通過命令行工具的net start 命令來啟動它,或是通過控制面板中管理工具下的服務一項來啟動相應的windows服務程序(見圖1)。同樣,一個windows服務程序也不能像一般的應用程序那樣被終止。因為windows服務程序一般是沒有用戶界面的,所以你也要通過命令行工具或是下面圖中的工具來停止它,或是在系統關閉時使得windows服務程序自動停止。因為windows服務程序沒有用戶界面,所以基于用戶界面的api函數對其是沒有多大的意義。為了能使一個windows服務程序能夠正常并有效的在系統環境下工作,程序員必須實現一系列的方法來完成其服務功能。windows服務程序的應用范圍很廣,典型的windows服務程序包含了硬件控制、應用程序監視、系統級應用、診斷、報告、web和文件系統服務等功能。
{system.serviceprocess.servicebase[] myservices;myservices = new system.serviceprocess.servicebase[] { new service1(), new service2() };system.serviceprocess.servicebase.run(myservices);}