【发布时间】:2008-12-10 10:04:38
【问题描述】:
托盘图标的简单 exe,可以独立运行
我使用 Windows 服务调用它,它似乎可以运行(在任务管理器中),但它似乎不执行任何代码。即没有托盘图标等。
【问题讨论】:
-
愚蠢的我......在我折磨自己 8 小时之前应该搜索一下 - 伟大的标题,在金钱上。
标签: c# windows-services system-tray
托盘图标的简单 exe,可以独立运行
我使用 Windows 服务调用它,它似乎可以运行(在任务管理器中),但它似乎不执行任何代码。即没有托盘图标等。
【问题讨论】:
标签: c# windows-services system-tray
在 Vista 和 Windows 2008 上,服务在与用户不同的会话中运行——服务运行的任何 EXE 都将在与服务相同的会话中运行。在 Vista 之前,您需要选中“允许服务与桌面交互”框,否则同样适用。
这意味着您的托盘图标 EXE 无法与用户的桌面交互。您需要查看使用 CreateProcessAsUser 在正确的会话中运行 EXE。
This blog post 面向使用 ConfigMgr OS 部署的人,但它包含在另一个会话中运行进程所需的步骤的良好列表。您需要采取一些不明显的步骤,否则事情会以奇怪的方式失败。
【讨论】: