我有使用 Microsoft Active Accessbility 获取事件窗口信息的代码。奇怪的是,如果我使用进程,我只能枚举一个窗口(在本例中为 Internet Explorer)中的所有控件。如果我生成一个线程并调用完全相同的代码,MSAA 将仅返回控件的一个子集。通常只是菜单栏和工具栏。不会枚举包含实际网页的 Pane 。仅返回有关 Pane 的信息,而不返回其子项。什么可能导致这种奇怪的行为?!没有意义。
最佳答案
辅助进程将拥有自己的 UAC 设置,而衍生线程将使用原始进程的 UAC 设置。 IE7 和 IE8 具有与 UAC 结合使用的特殊安全措施。
关于c++ - Active Accessibility (COM) 调用返回不同,具体取决于调用者是线程还是进程。什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1424381/