我的exe本身运行正常,但在服务加载时什么都不做

时间:2008-12-10 10:04:38

标签: c# windows-services system-tray

托盘图标的简单exe,可以独立工作

我使用Windows服务调用它,它似乎运行(在任务管理器中)但它似乎执行任何代码。即没有托盘图标等。

1 个答案:

答案 0 :(得分:6)

在Vista和Windows 2008上,服务在与用户不同的会话中运行 - 服务运行的任何EXE都将在与服务相同的会话中运行。在Vista之前,您需要选中“允许服务与桌面交互”框,否则同样适用。

这意味着您的托盘图标EXE无法与用户的桌面交互。您需要查看使用CreateProcessAsUser在正确的会话中运行EXE。

This blog post面向使用ConfigMgr操作系统部署的人员,但它包含在另一个会话中运行进程所需步骤的良好列表。你需要采取一些非显而易见的步骤,或者以奇怪的方式失败。