我有一个窗口服务程序,我需要从它启动另一个可执行文件,但非函数在SvcMain中执行。我寻找的解决方案,但发现有人写道,初始化应该完成不到一秒钟,否则它不会执行,所以是我的createprocess
他们说这个工作失败,你需要设置SetServiceStatus
service_start_pending
,但我不能找到任何文件来说明它。我怎样才能做到这一点?我怎么能从服务执行
回答
尝试从SvcMain运行辅助线程,并让该线程完成启动外部可执行文件的工作。
我是否需要每次从辅助线程报告状态? – user428447 2010-08-23 13:36:49
也许我误解了你的需求。您可以在原始问题中更详细地描述它们,以便人们了解您正在尝试做什么。 – joekoyote 2010-08-23 14:04:00
基本上,它听起来很简单。在致电CreateProcess
之前,请创建SERVICE_STATUS
对象,将SERVICE_STATUS.dwCurrentState
设置为SERVICE_START_PENDING
,然后致电SetServiceStatus(handle_to_your_service, &the_service_status);
。
将SERVICE_STATUS
对象设为全局对象可能是最容易的。您将不止一次致电SetServiceStatus
,并且大部分成员会随着时间的推移保持不变。例如。 .dwServiceType
根本不应该改变,并且.dwControlsAccepted
通常不会。
- 1. 我怎么能从服务打印
- 2. 我怎么能执行这个MySQL partitoning?
- 3. 我怎么能在web服务
- 4. 我怎么能看到我的Ember.js从服务器响应
- 5. 怎么办我刷卡从Web服务
- 6. 我怎么能只显示从Web服务的价值xml
- 7. 怎么能我秀每行
- 8. 我怎么能从array_intersect()
- 9. 为什么服务执行
- 10. 我怎么能执行所有行中的JavaScript
- 11. 我怎么能在我的自制服务使用getContainer()
- 12. 我该怎么做才能保护我的服务器?
- 13. 我怎么能阻止我的RECEIVE_BOOT_COMPLETED服务
- 14. 我怎样才能从boot.local执行我的exe文件
- 15. 为什么我不能从Web服务
- 16. 从Eclipse我怎么能同时执行多个android运行命令?
- 17. 从服务执行AsyncTask
- 18. 执行从Windows服务
- 19. 执行从服务器端
- 20. 我怎样才能让-drawRect执行?
- 21. 我怎样才能在角服务
- 22. 我怎么知道服务名称?
- 23. 我怎么用IIS7服务器
- 24. 我怎么能写一个ASPX Web服务在C#这样的PHP Web服务
- 25. 我怎么能执行一个明确的一个DIV的
- 26. 我怎么能在1创建2个可执行Android.mk
- 27. 我怎么能执行一个查询时,时间=此
- 28. 我怎么能执行一个函数一次在所有对
- 29. 我怎么能减缓特定方法的执行在Java
- 30. 我怎么能执行与输出分页定界符
如果这是用于Windows,并且它似乎如此,请标记为这样。 – 2010-08-23 14:25:25