c++ - Active Accessibility (COM) 调用返回不同,具体取决于调用者是线程还是进程。什么?

标签 c++ c winapi accessibility

我有使用 Microsoft Active Accessbility 获取事件窗口信息的代码。奇怪的是,如果我使用进程,我只能枚举一个窗口(在本例中为 Internet Explorer)中的所有控件。如果我生成一个线程并调用完全相同的代码,MSAA 将仅返回控件的一个子集。通常只是菜单栏和工具栏。不会枚举包含实际网页的 Pane 。仅返回有关 Pane 的信息,而不返回其子项。什么可能导致这种奇怪的行为?!没有意义。

最佳答案

辅助进程将拥有自己的 UAC 设置,而衍生线程将使用原始进程的 UAC 设置。 IE7 和 IE8 具有与 UAC 结合使用的特殊安全措施。

关于c++ - Active Accessibility (COM) 调用返回不同,具体取决于调用者是线程还是进程。什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1424381/

相关文章:

c++ - OPENCV 训练级联 "out of range"

c - 斯普林特夫 : pad with '\0' character instead of space

c - 字符串数组链表 - 段错误

winapi - 如何将 Win32 C + MASM "solution"从 Visual Studio 2015 升级到 VS 2017/2019

c++ - 检测按键按下和按键释放事件

c++ - 如何使用 Win32 解码 JPEG?

c++ - C++ 中的 "=="有时会为相同的 double 给出不同的结果

c++ - 在 C++ 中通过 UDP 发送缓冲图像

c++ - ASIO 正确处理多线程 + strand + socket + timer

由中断服务例程切换的 volatile 变量的更改未反射(reflect)在 main() 中