我有一个服务(C ++),它在启动期间可能会睡10分钟(错误情况)。 在2003年 - 它运行良好,当我将代码迁移到2008产品时,Windows服务通知我该服务无法启动(我的应用程序仍然活着 - 但是从1分钟后它从Windows视角声称存在问题......)
- >虽然代码已迁移到较新版本,但代码流没有变化 - >只有一个线程可以启动所有内容。 - >如果发生此错误,我无法启动应用程序(我必须睡觉)。 - > 2008年的行为有变化吗?
感谢。
答案 0 :(得分:1)
会话ID的维护方式有所变化。交互式登录用户将获得以1开头的会话ID(在Windows 7/2008中),以前版本的Windows曾经为0。
除此之外,服务如何与桌面交互存在限制。如果服务创建/显示窗口,它将不会呈现给属于当前用户的会话,但会通过session-id 0'桌面显示。
您可以查看this discussion