Windows XP、7 服务与每个登录用户交互但以管理员/服务身份运行

Windows XP、7 服务与每个登录用户交互但以管理员/服务身份运行

我是一名 Java 开发人员,我的应用程序出现这种情况。这更像是 Windows 问题,而不是 Java 问题。

我已经花了一个星期 x 每天 8 个小时或更长时间研究这个问题,听取其他人的建议,搜索、阅读文章、类似的帖子并进行实验。

找不到合适的解决方案。但我仍然确信有一个我没能掌握的窍门。

  1. 我想运行GUI app一个any user logs in.
  2. 我想要run那个应用程序as administrator or system service(管理员密码可用)(但separate instance for each user它可以单独与每个用户交互吗?)
  3. 我。只有do not want管理员user to be able to delete the app file or close / stop that app while its running可以终止该应用程序。

任务schedulerservices不让应用程序以管理员/系统身份在每个普通用户的普通桌面上运行as "interactive"应用程序到桌面。服务通常都是非交互式的,非 GUI 的,除非设置为交互式。

请仅在您确切知道“工作解决方案“以确切的方式陈述。以 notepade.exe 为例


附注:

我听说 VirtualBox 是开源的,并且具有管理员级别的服务和多个用户级别的 GUI 实例。所以我想这是可以实现的


非常感谢回复者和赞成者。反对者(如果有的话)。说明反对的原因,以便我可以改进

答案1

以下是来自 Linux 世界的一个想法:

在 Linux 中,一般的想法是使用 2 个程序:

  • 一个“主服务”(以管理员身份在后台运行)。注意:Linux 中的服务称为守护进程
  • 在用户级别运行的一个或多个“客户端服务”

“主服务”将具有管理权限,并将接受、处理和响应从“客户端服务”发送的命令。

“客户端服务”将根据友好的 GUI 发送命令。

两者使用消息系统“DBus”进行交互。我认为 Windows Sockets 在 Windows 中相当于:https://stackoverflow.com/questions/482681/d-bus-equivalent-for-windows

相关内容