2011-08-18 70 views
0

我的Qt应用程序依赖于windows bonjour服务。如果应用程序在登录时启动,则有时无法在bonjour上注册,因为服务尚未完全启动。我需要手动重新启动服务才能使其工作。有没有办法指定我的应用程序的依赖服务,可以照顾到这一点,或者可能我只是检查服务的状态,并等待它的启动。依赖于windows服务的Qt应用程序

任何指针赞赏。

Soumya

回答

1

您可以检查与QueryServiceStatus。如果您需要启动它,您可以等待NotifyServiceStatusChange,直到服务启动。

+0

我正在检查Bonjour服务的状态,并且只有当它正在运行时,我尝试使用它注册我的网络服务。但它仍然不起作用。如果我然后重新启动我的应用程序,它工作完美是否依赖于应用程序和相关服务启动和运行的顺序? –

+1

好吧,如果报告的状态确实是'SERVICE_RUNNING',那么您可能发现了一个错误。如果服务尚未准备好,服务应该具有状态“SERVICE_START_PENDING”。除非您编程一个,即通过'NotifyServiceStatusChange',否则没有依赖关系。 – MSalters