Windows 服务启动进程通知结束(2003、2008)

发布于 2024-11-16 14:51:25 字数 267 浏览 1 评论 0原文

我有一个服务 (C++),在启动期间可能会休眠 10 分钟(错误情况)。 在 2003 年 - 它工作正常,当我将代码迁移到 2008 产品时,Windows 服务通知我服务无法启动(我的应用程序仍然存在 - 但从 Windows 角度来看,1 分钟后它声称存在问题..)

-> ;尽管代码已迁移到新版本,但代码流程没有变化 ->只有一个线程启动一切。 ->如果发生此错误,我将无法启动应用程序(我必须睡觉)。 -> 2008 年的行为有什么变化吗?

谢谢。

I have a service (C++) that during its startup might sleep for 10 minutes (error case).
in 2003 - it worked fine, when I migrated the code to 2008 product, Windows Services notify me that the service could not start (my application still alive - but from windows perspective after 1 minute it claims there is a problem..)

-> Though the code was migrated to newer version no change in code flow
-> there is only one thread that starts everything.
-> I can't start the application if this error occurs (I must sleep).
-> Is there any change in 2008 behavior?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

相对绾红妆 2024-11-23 14:51:25

维护会话 ID 的方式发生了变化。交互式登录用户将获得以 1 开头的会话 ID(在 Windows 7/2008 中),在以前的 Windows 版本中,该 ID 曾经为 0。

除此之外,服务与桌面交互的方式也受到限制。如果服务创建/显示窗口,它不会呈现到属于当前用户的会话,但会通过会话 id 0' 桌面显示。

您可以查看此讨论

There are changes in how session-ids are maintained. The interactive logged-in user would get session-id starting with 1 (In Windows 7/2008), which used to be 0 for previous versions of Windows.

Along with that there are restrictions on how services can interact with the desktop. If service creates/shows windows, it will NOT be rendered to session that belongs to current user, but it would be shown via session-id 0' desktop.

You may check this discussion

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文