我使用的代碼從本網站創建一個基本的服務 http://code.msdn.microsoft.com/windowsdesktop/CppWindowsService-cacf4948在通知欄中顯示一個窗口服務的圖標?
,我想這項服務出現在工具欄中的圖標。 我可以從圖標啓動和停止服務嗎?
現在我必須進入SCM來啓動和停止服務,並且需要很長時間才能向下滾動列表並找到服務,然後啓動或停止它。
一些網站都說這不能做,因爲你不能與服務互動 這是真的嗎?
我不在乎這是一個壞主意還是不應該這樣做。我只想知道代碼是否可以完成,所以有人可以幫忙嗎?
「你不能與服務互動」 - 大體上,是的。您可以將您的服務設置爲在我認爲的交互式會話中運行,但我不知道是否可以輕鬆地設置該圖標。無論如何,可能會有多個桌面會話。最好的辦法是爲通知欄編寫一個單獨的小應用程序,以啓動和停止服務。我認爲有一個與Apache HTTPD捆綁在一起 - Apache服務監視器 - 並且可能會提供這些源代碼。 – Rup
所以我不能只是添加一些代碼到現有的程序? –
我以爲你可以,但[此MSDN文章](http://msdn.microsoft.com/en-gb/library/windows/desktop/ms683502.aspx)說,這是不允許從Vista起,但我可能是錯誤。如果您最終編寫了一個單獨的托盤應用程序來控制服務,那麼您可以從以下代碼開始:http://svn.apache.org/repos/asf/httpd/httpd/trunk/support/win32/ – Rup