2013-03-20 42 views
0

我正在使用Win32Service插件的PHP,我看不到如何測試服務是否存在,而不是使用win32_query_Service_status,因爲這似乎返回1060,如果它不存在?Win32Service - 如何檢查Windows服務是否存在

$arrServiceData = win32_query_Service_status($strServicename); 
return ($arrServiceData != 1060); 

有沒有人有更好的想法如何實現這一目標?

感謝

回答

0

我沒有看到測試這種方式的任何問題,節省,你應該做的比較!==,不!=,這樣你就不會發生轉換得到驚喜。

你可以看到返回值上win32 service constants page,從那裏:

WIN32_ERROR_SERVICE_DOES_NOT_EXIST 0x00000424指定的服務 不存在作爲安裝服務。

0x000004241060十進制,所以這就是結果,如果它不存在。

+0

好的,這很好聽。我寧願使用那個不變的枚舉值,但不知道!==,但我會讀它:-)。你知道如何實際引用該枚舉,因爲它似乎並不知道它,即($ arrServiceData!== WIN32_ERROR_SERVICE_DOES_NOT_EXIST)錯誤,但($ arrServiceData!== 0x00000424);不?謝謝 – Yos 2013-03-20 17:03:50

+0

@Yos我會懷疑它們只是在winapi上的常量,而不是在php插件中預定義的。但不知道。如果其他人失敗了,你可以自己定義他們。 – eis 2013-03-20 18:08:02

相關問題