1

我有一個服務(C++),在其啓動過程中可能會休眠10分鐘(錯誤情況)。 在2003年 - 它工作得很好,當我將代碼遷移到2008年產品時,Windows服務通知我該服務無法啓動(我的應用程序仍然存在 - 但從Windows透視1分鐘後聲稱存在問題..)Windows服務啓動過程通知結束(2003,2008)

- >儘管代碼已遷移到較新的版本,但代碼流 沒有任何更改 - >只有一個線程可以啓動所有操作。 - >如果發生此錯誤,我無法啓動應用程序(我必須睡眠)。 - > 2008年行爲有沒有變化?

謝謝。

回答

1

session-id的維護方式有所變化。交互式登錄用戶將獲得以1開頭的會話ID(在Windows 7/2008中),以前的Windows版本爲0。

除此之外,還有服務如何與桌面交互的限制。如果服務創建/顯示窗口,它將不會呈現給屬於當前用戶的會話,但會通過會話ID 0'桌面顯示。

您可以檢查this discussion