【问题标题】:Run WindForms app as admin from Windows Scheduler for all users以管理员身份从 Windows Scheduler 为所有用户运行 WinForms 应用程序
【发布时间】:2020-05-05 03:44:23
【问题描述】:

我正在寻找为所有 PC 用户运行 WinForms (GUI) 应用程序的方法 应用程序图标应位于托盘中,并在单击后显示登录用户的一些信息。

但是用户应该不能关闭它(包括从windows任务管理器杀死任务)

最初我认为在 Windows 任务计划程序中创建本地管理员条目就足够了,它将为每个用户启动应用程序。但后来我了解到这种方式我不能真正显示 GUI/运行交互式应用程序(可以做控制台应用程序但不显示 GUI)。

有人可以建议实现这一目标的最简单方法吗?

此时我想到的唯一解决方案是创建客户端-服务器应用程序。服务器作为管理员的服务/控制台运行,客户端 -> 用户 gui。但是用户仍然可以关闭客户端应用程序...

【问题讨论】:

  • 你的问题很广泛。你都尝试了些什么?我们在哪里可以找到可重现的样本?
  • @oleksa - 并非完全相同。给定链接描述了移动应用程序,我也想以本地管理员身份启动任务,而不是登录用户 - 只是希望用户与在管理员上下文中运行的 GUI 应用程序进行交互
  • @Pavel Anikhouski - 我认为我已经描述了我尝试过的事情以及遇到的困难。代码并不重要,它可以是一个简单的应用程序,上面有显示“hello word”的按钮。如上所述,关键问题是如何以本地管理员身份运行单个实例,但允许用户与之交互。 (特别是在 W10 的情况下 - 此操作系统倾向于在重启后保持登录多个用户)
  • @Pavel Anikhouski - 谢谢。如果这允许我启动 GUI 应用程序并防止服务被普通用户关闭(无管理员权限),我可以迁移到服务。将在这里进行实验并获得反馈。由于我不是真正的服务专家,如果有人可以分享任何示例/文章如何处理该问题,我也很感激

标签: c# .net winforms user-interface scheduled-tasks


【解决方案1】:

感谢大家的建议

我搜索了很多,发现 Windows 服务与桌面交互 在较新的 Windows 版本(Vista +)中不再可能。

阅读大量艺术作品说没有通过服务启动 GUI 应用程序的选项... 然后我终于找到了下面的帖子,它帮助我归档了我需要的东西

https://www.codeproject.com/Articles/35773/Subverting-Vista-UAC-in-Both-32-and-64-bit-Archite

离开寻找相同的人...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 2014-12-27
    • 1970-01-01
    • 2011-09-24
    • 2010-12-19
    • 1970-01-01
    相关资源
    最近更新 更多