C 操作Windows服務的一些方法

2021-09-21 06:06:18 字數 2048 閱讀 1139

學習**:

主要方法:

啟動某個服務

停止某個服務

判斷是否安裝了某個服務

判斷某個服務是否啟動

在操作windows服務之前,先新增引用

system.serviceprocess

1.判斷是否安裝某服務

/// /// 判斷是否安裝了某個服務

///

///

///

public static bool iswindowsserviceinstalled(string servicename)

}return false;

}catch

}

測試:

檢視服務

此時,我們可以看到mysql是存在的,也是開啟的……此處只測試開啟的服務,關閉的服務應該是相同的道理,偷個懶,就不去測試了。

在主函式裡面新增使用,測試結果

測試結果

此時的服務是開啟的,我們先看一下,如何關閉這個服務……

/// /// 停止某個服務

///

///

public static void stopservice(string servicename)}}

catch

}

在主方法裡使用測試:

測試關閉服務

當服務關閉時,如果再次執行關閉操作也並不會報錯!

此時的服務是關閉的,那接下來看看這個方法,判斷服務是否開啟:

/// /// 判斷某個服務是否啟動

///

///

public static bool isstart(string servicename)}}

}catch

return result;

}

在主方法裡使用測試:

static void main(string args)

可見此時的服務確實是關閉的。

image.png

最後我們再寫乙個啟動服務的方法,進行測試:

/// /// 啟動某個服務

///

///

public static void startservice(string servicename)}}

catch

}

在主方法裡面把該服務啟動,然後再進行判斷該服務是否啟動。

static void main(string args)

此處開啟服務需要一點時間……所以在起初判斷服務開啟和後來的判斷有一點停頓時間。

測試結果

好了,練習到此結束。

C 開發windows服務的一些心得

最近在做乙個windows服務的專案,發現並解決了一些問題,拿出來和大家分享一下,以下windows服務簡稱 服務 文章會在適合時間更新,因為朋友們在不斷提出新的意見或思路,感謝 1.服務如何在某種情況下彈出乙個窗體?第一種解決辦法,用安裝程式的 修改登錄檔來完成 1.右擊服務的檢視設計介面的空白處...

c 一些操作

使用友元函式過載 這樣的賦值運算,最好使用成員函式,返回運算子左側的引用,這樣既可以連續賦值,又可以直接傳遞引用,不用呼叫拷貝建構函式將返回的臨時變數複製給左側引數,增加效率。ex 過載加法 a b,友元不屬於任何物件,所以它沒有this指標 friend test operator const t...

windows的一些命令

start 檔名 自動用預設程式開啟檔案 例 start a.txt 自動用記事本開啟a.txt 還有 c windows 這樣的,可以直接開啟相應的資料夾 在執行視窗輸入 scanreg fix 用於檢測掃瞄登錄檔 scnareg restore 則可以使登錄檔恢復到最近幾天的樣子 ipconfi...