Node.js Windows服务,无法从服务中启动GUI应用程序。

3
我正在使用NSSM将Node.js应用程序运行在Windows服务中。每天我会检查一个远程API并生成一个可执行文件,在系统托盘中弹出通知气球。
当我从控制台会话运行时,它按预期工作,但是当从Windows服务运行时,我可以看到通知可执行文件在运行进程列表中,但气球没有显示出来。我猜服务不应该有用户界面。但肯定有方法可以实现..
当我运行services.msc时,选择我的服务>属性>登录>标记“允许服务与桌面交互”无效。
代码为:spawn("notify.exe", {cwd: path.resolve(__dirname, "/tools")});
什么原因导致这种行为?

1
一个代码会很棒。 - Vinz243
1个回答

5
你正在迎面冲向Windows Vista及更高版本中存在的安全增强功能“Session 0隔离”。你的服务创建的系统托盘通知气球将永远不会在任何用户的桌面上显示,无论“允许服务与桌面交互”设置如何,这现在是误导性的。请看什么是Session 0隔离服务允许与桌面交互

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接