一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#對Windows服務組的啟動與停止操作

C#對Windows服務組的啟動與停止操作

2022-02-21 14:49馬洪彪 C#

這篇文章主要為大家詳細介紹了C#對Windows服務組的啟動與停止操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下

windows服務大家都不陌生,windows服務組的概念,貌似ms并沒有這個說法。

作為一名軟件開發者,我們的機器上安裝有各種開發工具,伴隨著各種相關服務。

visual studio可以不打開,sqlserver management studio可以不打開,但是sqlserver服務卻默認開啟了。下班后,我的計算機想用于生活、娛樂,不需要數據庫服務這些東西,尤其是在安裝了oracle數據庫后,我感覺機器吃力的很。

每次開機后去依次關閉服務,或者設置手動開啟模式,每次工作使用時依次去開啟服務,都是一件很麻煩的事情。因此,我講這些相關服務進行打包,打包為一個服務組的概念,并通過程序來實現服務的啟動和停止。

這樣我就可以設置sqlserver、oracle、vmware等的服務為手動開啟,然后在需要的時候選擇打開。

以上廢話為工具編寫背景,也是一個應用場景描述,下邊附上代碼。

C#對Windows服務組的啟動與停止操作

服務組的定義,我使用了ini配置文件,一個配置節為一個服務器組,配置節內的key、value為服務描述和服務名稱。

配置內容的先后決定了服務開啟的順序,因此類似oracle這樣的對于服務開啟先后順序有要求的,要定義好服務組內的先后順序。

value值為服務名稱,服務名稱并非services.msc查看的名稱欄位的值,右鍵服務,可以看到,顯示的名稱其實是服務的顯示名稱,這里需要的是服務名稱。

C#對Windows服務組的啟動與停止操作

配置文件如下圖所示

C#對Windows服務組的啟動與停止操作

注:ini文件格式:

[section1]

key1=value1

key2=value2

程序啟動,主窗體加載,獲取配置節,即服務組。

?
1
2
3
string path = directory.getcurrentdirectory() + "/config.ini";
 list<string> servicegroups = inihelper.getallsectionnames(path);
 cboservicegroup.datasource = servicegroups;

其中的ini服務類,參考鏈接:c#操作ini文件的輔助類inihelper

服務的啟動和停止,需要引入system.serviceprocess程序集。

啟動服務組:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
if (string.isnullorempty(cboservicegroup.text))
{
 messagebox.show("請選擇要操作的服務組");
 return;
}
//
string path = directory.getcurrentdirectory() + "/config.ini";
string section = cboservicegroup.text;
string[] keys;
string[] values;
inihelper.getallkeyvalues(section, out keys, out values, path);
//
foreach (string value in values)
{
 servicecontroller sc = new servicecontroller(value);
 //
 try
 {
  servicecontrollerstatus scs = sc.status;
  if (scs != servicecontrollerstatus.running)
  {
   try
   {
    sc.start();
   }
   catch (exception ex)
   {
    messagebox.show("服務啟動失敗\n" + ex.tostring());
   }
  }
 }
 catch (exception ex)
 {
  messagebox.show("不存在服務" + value);
 }
 //
}
//
messagebox.show("服務啟動完成");

停止服務組

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
if (string.isnullorempty(cboservicegroup.text))
{
 messagebox.show("請選擇要操作的服務組");
 return;
}
//
string path = directory.getcurrentdirectory() + "/config.ini";
string section = cboservicegroup.text;
string[] keys;
string[] values;
inihelper.getallkeyvalues(section, out keys, out values, path);
//
foreach (string value in values)
{
 servicecontroller sc = new servicecontroller(value);
 try
 {
  servicecontrollerstatus scs = sc.status;
  if (scs != servicecontrollerstatus.stopped)
  {
   try
   {
    sc.stop();
   }
   catch (exception ex)
   {
    messagebox.show("服務停止失敗\n" + ex.tostring());
   }
  }
 }
 catch (exception ex)
 {
  messagebox.show("不存在服務" + value);
 }
 //
 
}
//
messagebox.show("服務停止完成");
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/mahongbiao/p/3762437.html

延伸 · 閱讀

精彩推薦
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
主站蜘蛛池模板: 国产高清在线播放免费观看 | 蜜柚精彩在线观看 | 亚洲日本中文字幕天堂网 | 91蜜桃| 91精品国产色综合久久 | 隔壁老王国产精品福利 | 国产一卡2卡3卡四卡精品网 | 色老妇 | 色综合久久九月婷婷色综合 | 精品国语对白精品自拍视 | 3d动漫美女被吸乳羞羞视频 | 精品无码国产污污污免费网站2 | 精品一区视频 | 手机在线观看精品国产片 | 香蕉成人国产精品免费看网站 | 精品国产麻豆AV无码 | chinesemature老女人 | 小鸟酱在线看 | 99热久热这里只精品 | 国产色站 | 久久毛片免费看一区二区三区 | 精品一区二区三区视频日产 | 69午夜影院 | 吻戏辣妞范1000免费体验 | 男人爱看的网站 | 日本高清在线不卡 | 亚洲成人免费 | 亚洲欧美久久久久久久久久爽网站 | 97视频久久 | 日本伦理动漫在线观看 | 国产卡一卡二卡三乱码手机 | 日韩免费在线看 | 乌克兰黄色录像 | 啊哈用力cao我 | 好大好粗好爽 | 国产yw193.㎝m在线观看 | 教室眠催白丝美女校花 | 日本一卡=卡三卡免费 | 日本成人免费在线视频 | 国产尤物视频 | 爽好舒服宝贝添奶吻戏 |