我正在使用NSSM在Windows服务中运行Node.js应用程序,每天检查一次远程API并生成一个可执行文件,该文件会弹出系统托盘中的通知气球。 当我从控制台会话运行它时,这按预期工作,但是当从Windows服务运行时,我在运行进程列表中看到通知可执行文件,但气球没有显示。我想服务不应该有用户界面。 但必须有办法做到这一点..
当我运行services.msc
时,选择我的服务>属性>登录> Mark'允许服务与桌面交互`没有用。
代码为:spawn("notify.exe", {cwd: path.resolve(__dirname, "/tools")});
什么可能导致这种行为?
答案 0 :(得分:4)
您正在运行"Session 0 Isolation",这是Windows Vista及更高版本中的安全增强功能。无论"Allow service to interact with desktop" setting, which is now misleading如何,您的服务创建的系统托盘中的通知气球都不会显示在任何用户的桌面上。