【问题标题】:My exe runs fine by itself, but does nothing when loaded by a service我的 exe 本身运行良好,但在被服务加载时什么也不做
【发布时间】:2008-12-10 10:04:38
【问题描述】:

托盘图标的简单 exe,可以独立运行

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

【问题讨论】:

  • 愚蠢的我......在我折磨自己 8 小时之前应该搜索一下 - 伟大的标题,在金钱上。

标签: c# windows-services system-tray


【解决方案1】:

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

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

This blog post 面向使用 ConfigMgr OS 部署的人,但它包含在另一个会话中运行进程所需的步骤的良好列表。您需要采取一些不明显的步骤,否则事情会以奇怪的方式失败。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-14
    • 2017-06-16
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多