【发布时间】:2016-06-20 08:09:46
【问题描述】:
我想将一个窗口拉入另一个窗口。因此,我将 python 与 pywin32 一起使用。
我想用 setWindowLong 删除 WS_POPUP 样式。
当登录用户和所涉及的进程相同时,这可以正常工作。
但是当进程在不同的用户下运行时,我会收到拒绝访问错误。
感谢您的帖子。
【问题讨论】:
我想将一个窗口拉入另一个窗口。因此,我将 python 与 pywin32 一起使用。
我想用 setWindowLong 删除 WS_POPUP 样式。
当登录用户和所涉及的进程相同时,这可以正常工作。
但是当进程在不同的用户下运行时,我会收到拒绝访问错误。
感谢您的帖子。
【问题讨论】:
SetWindowLongPtr 的文档包含关于 hWnd 参数的以下部分:
如果拥有由 hWnd 参数指定的窗口的进程在 UIPI 层次结构中的进程特权高于调用线程所在的进程,则 SetWindowLongPtr 函数将失败。
如果调用失败并出现拒绝访问错误,那么您是从完整性级别低于目标进程的进程调用的。
虽然通过应用程序清单请求 UIAccess 可能有效(请参阅Security Considerations for Assistive Technologies),但没有建议的解决方案来绕过该安全防火墙。这适用于辅助技术应用程序,不应被非此类软件滥用。
【讨论】: