如何确定Python中Win10 UAC提示中的内容?
How can I determine what what is in the Win10 UAC prompt in Python?
这里的问题似乎很奇怪,至少从我在 Google 中找到的内容来看是这样。我不是要确定是否有 UAC 提示(我有几种可靠的方法可以做到这一点,win32gui,GetForegroundWindow() returns a 0,或 win32gui.screenshot returns异常 OSError 至少在我的情况下)
我也不打算绕过 UAC,至少从 python 开始,我有一个自动启动的更新过程,我需要通过 UAC。我无法控制更新过程,所以我认为它不是禁用 Python 的 UAC 的好选择。我可以在 Win10 中禁用 UAC,但如果可能的话我不想这样做。我确实有几种绕过 UAC 的方法,在一个实例中,我在 vitualbox 中 运行ning 这个我相信我可以使用 VBoxManage guestcontrol 将击键发送到来宾系统,对于我拥有的独立系统一个作为 USB HID 键盘连接的微控制器,带有一个基本的 deadman 开关(使用滚动锁在 python 和作为 HID 键盘的微控制器之间传递数据)如果它没有收到它发送左箭头的信号输入以绕过UAC。
我正在尝试做的事情是验证 UAC 弹出窗口实际上来自我想接受 UAC 提示的更新过程,而不是其他一些随机的、可能是恶意的应用程序尝试提升特权。我可以使用任务列表来验证 UAC 是否已启动,但我没有看到任何方法来查看导致 UAC 提示的原因。更新过程从始终处于 运行ning 的应用程序启动,因此我无法检查进程本身是否处于 运行ning,因为它在正常操作下处于 运行ning,当它试图提升更新权限时,我只想接受 UAC。我一直在结合使用 win32gui.GetWindowText 和 win32gui.EnumWindows 来查找特定的 window 标题,并区分具有相同标题的 windows,截取屏幕截图并使用OpenCV匹配出现在windows中的不同object。当 UAC 启动时,这两种方法都失败了,这就是为什么我可以像我之前提到的那样使用它们来检测 UAC。
我想我可以使用 USB 相机拍摄系统的屏幕截图,但我希望能够 运行 这个无头的。
任何人都有实现此目标的方法,就像树对伐木工人说的那样,我被难住了。
如果您运行一个进程作为管理员,则不会出现用户帐户控制提示。
您可以以管理员身份手动 运行 您的进程。
您需要系统权限才能与用户帐户控制提示进行交互。
这里的问题似乎很奇怪,至少从我在 Google 中找到的内容来看是这样。我不是要确定是否有 UAC 提示(我有几种可靠的方法可以做到这一点,win32gui,GetForegroundWindow() returns a 0,或 win32gui.screenshot returns异常 OSError 至少在我的情况下)
我也不打算绕过 UAC,至少从 python 开始,我有一个自动启动的更新过程,我需要通过 UAC。我无法控制更新过程,所以我认为它不是禁用 Python 的 UAC 的好选择。我可以在 Win10 中禁用 UAC,但如果可能的话我不想这样做。我确实有几种绕过 UAC 的方法,在一个实例中,我在 vitualbox 中 运行ning 这个我相信我可以使用 VBoxManage guestcontrol 将击键发送到来宾系统,对于我拥有的独立系统一个作为 USB HID 键盘连接的微控制器,带有一个基本的 deadman 开关(使用滚动锁在 python 和作为 HID 键盘的微控制器之间传递数据)如果它没有收到它发送左箭头的信号输入以绕过UAC。
我正在尝试做的事情是验证 UAC 弹出窗口实际上来自我想接受 UAC 提示的更新过程,而不是其他一些随机的、可能是恶意的应用程序尝试提升特权。我可以使用任务列表来验证 UAC 是否已启动,但我没有看到任何方法来查看导致 UAC 提示的原因。更新过程从始终处于 运行ning 的应用程序启动,因此我无法检查进程本身是否处于 运行ning,因为它在正常操作下处于 运行ning,当它试图提升更新权限时,我只想接受 UAC。我一直在结合使用 win32gui.GetWindowText 和 win32gui.EnumWindows 来查找特定的 window 标题,并区分具有相同标题的 windows,截取屏幕截图并使用OpenCV匹配出现在windows中的不同object。当 UAC 启动时,这两种方法都失败了,这就是为什么我可以像我之前提到的那样使用它们来检测 UAC。
我想我可以使用 USB 相机拍摄系统的屏幕截图,但我希望能够 运行 这个无头的。
任何人都有实现此目标的方法,就像树对伐木工人说的那样,我被难住了。
如果您运行一个进程作为管理员,则不会出现用户帐户控制提示。 您可以以管理员身份手动 运行 您的进程。 您需要系统权限才能与用户帐户控制提示进行交互。