确定Windows服务是如何启动的

确定Windows服务是如何启动的,windows,service,Windows,Service,我有一个启动类型为自动的Windows服务,因此该服务在启动时启动。如果用户显式停止并重新启动我的服务(或者我产品的其他组件显式停止并重新启动我的服务),我需要知道这一点,并在服务中采取不同的行为 是否有API可以检测“此服务在启动时由Windows自动启动”与“此服务手动启动”?我在MSDN上找不到 提前谢谢 尝试设置服务的命令行参数(请参阅CreateService或ChangeServiceConfig中的lpBinaryPathName说明)。我不确定,但我相信这些参数只有在服务自动启动

我有一个启动类型为自动的Windows服务,因此该服务在启动时启动。如果用户显式停止并重新启动我的服务(或者我产品的其他组件显式停止并重新启动我的服务),我需要知道这一点,并在服务中采取不同的行为

是否有API可以检测“此服务在启动时由Windows自动启动”与“此服务手动启动”?我在MSDN上找不到


提前谢谢

尝试设置服务的命令行参数(请参阅CreateService或ChangeServiceConfig中的lpBinaryPathName说明)。我不确定,但我相信这些参数只有在服务自动启动时才会传递给可执行文件。谢谢Harry Johnston。我自己的记忆是,如果你把参数放在lpBinaryPathName中,它们也会被传递到一个普通的“sc start”或“net start”。不过我还没试过。如果服务是以编程方式手动启动的,我们最终通过向StartService传递参数绕过了整个问题。