【问题标题】:Screen capture and event with Vista UAC使用 Vista UAC 的屏幕截图和事件
【发布时间】:2009-03-29 16:54:55
【问题描述】:

我开发了一个 c# 应用程序,它使用 bitblt 捕获屏幕并使用对 keybd_event 和 mouse_event 的调用发送键盘和鼠标事件。

根据微软的说法,我需要修改 app.manifest : requestedExecutionLevel level="highestAvailable" uiAccess="true"

签署应用程序并将其放置在受信任的位置(程序文件)。

我已完成所有这些操作以使应用程序在 Vista 下以提升的权限运行,但是当 UAC 对话框出现时,它不会捕获这些屏幕,并且键盘和鼠标事件不会到达 UAC 对话框。

我猜 UAC 在不同的桌面上运行??如果是这样,我将如何捕捉它?以及如何检测桌面何时切换到 c# 中的 UAC 对话框?还是我错过了一步?

【问题讨论】:

    标签: windows-vista uac capture


    【解决方案1】:

    UAC 在安全桌面上运行,仅允许在系统帐户上运行的受信任进程在该上下文中运行。

    这是为了防止您想要达到的目的 - 进程欺骗或捕获用户输入。

    【讨论】:

      【解决方案2】:

      你不能。 UAC 桌面是安全的,因为它不允许任何人访问它。 要检测桌面切换事件,我会尝试使用SENSWTSRegisterSessionNotification。但它看起来不太有希望。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多