0

我有一个控制台应用程序,可以监视所有 Windows 进程,等待特定的进程出现,然后使用 UI 自动化处理它。它只分发给需要它并愿意安装它的人,因此它不会做任何恶意行为。

现在,它通过要求管理员权限来工作,以便它可以监视所有进程并捕获该特定进程。然而,我们面临的问题是用户使用 Citrix 等桌面虚拟化软件。他们没有管理员权限,并且不能被授予任何安全预防措施。

我想到的三个选择是:

  1. 只需输入一次管理员凭据即可以管理员身份创建桌面快捷方式,以便之后普通用户可以使用它,但事实证明这不是一个选项,因为管理员不能以任何方式参与其中。
  2. 第二个是重新设计应用程序,以便它使用一个 Windows 服务来捕获进程的到达然后执行工作,但结果是 Windows 服务不能与桌面会话一起工作,这意味着它不能使用 UI 自动化,这使得该应用程序无用。
  3. 可能会添加类似获取所有进程并按名称搜索所需进程的内容,但是这种情况的再次出现频率必须太小(不到一秒),如果进程太多会导致问题

我想知道是否有什么办法可以解决/绕过它。到目前为止,我找不到一种方法来捕获没有管理员权限的所需进程

4

1 回答 1

0

只需使用 Windows 服务(以管理员身份)您的桌面应用程序。

Windows 服务执行需要管理员权限的所有内容,桌面应用程序负责 UI 任务。这些程序可以通过命名管道、共享内存或环回网络套接字进行通信。

免责声明

确保确保进程间通信的安全。另一个用户进程应该不能使用您的服务的管理员权限。

于 2019-12-20T12:21:54.283 回答