我有一个控制台应用程序,可以监视所有 Windows 进程,等待特定的进程出现,然后使用 UI 自动化处理它。它只分发给需要它并愿意安装它的人,因此它不会做任何恶意行为。
现在,它通过要求管理员权限来工作,以便它可以监视所有进程并捕获该特定进程。然而,我们面临的问题是用户使用 Citrix 等桌面虚拟化软件。他们没有管理员权限,并且不能被授予任何安全预防措施。
我想到的三个选择是:
- 只需输入一次管理员凭据即可以管理员身份创建桌面快捷方式,以便之后普通用户可以使用它,但事实证明这不是一个选项,因为管理员不能以任何方式参与其中。
- 第二个是重新设计应用程序,以便它使用一个 Windows 服务来捕获进程的到达然后执行工作,但结果是 Windows 服务不能与桌面会话一起工作,这意味着它不能使用 UI 自动化,这使得该应用程序无用。
- 可能会添加类似获取所有进程并按名称搜索所需进程的内容,但是这种情况的再次出现频率必须太小(不到一秒),如果进程太多会导致问题
我想知道是否有什么办法可以解决/绕过它。到目前为止,我找不到一种方法来捕获没有管理员权限的所需进程