偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C#啟動windows服務的方法淺析

開發(fā) 后端
C#啟動windows服務的方法都是什么呢?C#啟動服務類型為Disabled的windows服務會遇到什么樣的問題呢?那么本文就向你介紹C#啟動windows服務的方法的相關內(nèi)容。

C#啟動windows服務的方法是什么呢?來讓我們開始吧:

C#啟動windows服務的由來:我們知道, 在C#代碼中啟動一個已經(jīng)存在的windows服務,我們可以用這樣的代碼來完成:

  1. //ACPI is an example of service name  
  2.  
  3. System.ServiceProcess.ServiceController  
  4.  
  5.  service = new ServiceController("ACPI");   
  6.  
  7. service.Start(); 

C#啟動windows服務遇到的問題, 如果服務類型是Disabled, 那么start方法就會引發(fā)異常。 一般的做法是先修改服務的啟動類型, 然后啟動該服務:

  1. using Microsoft.Win32;  
  2.  string keyPath = @"SYSTEM\CurrentControlSet\Services\ACPI";   
  3.  
  4. RegistryKey key = Registry.LocalMachine.OpenSubKey(keyPath, true);  
  5. int val = -1;  
  6. bool bConverted = Int32.TryParse(key.GetValue("Start").  
  7.  
  8. ToString(), out val); if(bConverted){   
  9. if ( val == 4){key.SetValue("Start", 3);  
  10.  }  
  11. }   
  12. System.ServiceProcess.ServiceController   
  13.  
  14. service = new ServiceController("ACPI");   
  15.  service.Start(); 

總結一下修改服務的啟動方式有兩種方法:

C#啟動windows服務1. 修改注冊表

windows 服務的注冊表地址為 :

[\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName]

其中子鍵Start代表了啟動類型. 類如"Start"=dword:00000002

其中2為Automatic, 3為Manul, 4為Disabled

C#啟動windows服務2.用API
 

  1. BOOL ChangeServiceConfig(   
  2.  
  3. SC_HANDLE hService,   
  4.  
  5. DWORD dwServiceType,   
  6.  
  7. DWORD dwStartType,   
  8.  
  9. DWORD dwErrorControl,   
  10.  
  11. LPCTSTR lpBinaryPathName,   
  12.  
  13. LPCTSTR lpLoadOrderGroup,   
  14.  
  15. LPDWORD lpdwTagId,   
  16.  
  17. LPCTSTR lpDependencies,   
  18.  
  19. LPCTSTR lpServiceStartName,   
  20.  
  21. LPCTSTR lpPassword,   
  22.  
  23. LPCTSTR lpDisplayName   
  24.  
  25. );  

C#啟動windows服務的方法淺析就向你介紹到這里,希望對你學習和了解C#啟動windows服務有所幫助。

【編輯推薦】

  1. C#Windows服務程序編寫淺析
  2. C#Windows服務程序開發(fā)軟件功能需求
  3. C#Windows服務程序開發(fā)之Windows服務淺析
  4. C#Windows服務程序安裝淺析
  5. C#Windows服務程序開發(fā)的體會
責任編輯:仲衡 來源: 百度空間
相關推薦

2009-08-14 16:41:22

C#啟動Windows

2009-08-14 11:00:16

C#創(chuàng)建Windows

2009-08-28 16:01:20

C#啟動停止SQL數(shù)據(jù)

2009-08-10 17:36:17

C#擴展方法

2009-08-20 16:15:19

C# 匿名方法

2009-09-10 14:52:55

C# get

2009-09-11 09:15:06

C# get方法

2009-08-28 15:52:23

C#利用sharpzi

2009-09-07 09:36:29

C# DisposeDispose方法

2009-09-10 09:10:17

C# TextBox換

2009-08-17 17:56:32

C# 枚舉

2009-08-14 17:04:19

Windows后臺服務

2009-09-07 09:53:01

C# DisposeDispose方法

2009-08-28 12:19:19

C#靜態(tài)方法

2009-09-18 10:58:31

C#數(shù)組操作

2009-08-12 17:27:11

C#讀取文件

2009-08-20 10:53:23

C#操作內(nèi)存

2009-08-14 16:32:50

C#啟動Windows

2009-08-28 16:31:21

C# treeview

2009-09-11 09:20:00

C# button事件
點贊
收藏

51CTO技術棧公眾號