2009-09-14 5 views
0

J'ai un code qui utilise Microsoft Active Accessibility pour obtenir des informations sur la fenêtre active. Étrangement, je ne peux énumérer tous les contrôles dans une fenêtre (dans ce cas Internet Explorer) si j'utilise un processus. Si je génère un thread et appelle le même code EXACTE, MSAA renverra seulement un sous-ensemble de contrôles. Habituellement juste la barre de menu et les barres d'outils. Le volet avec la page Web réelle n'est pas énuméré. Seules les informations sur le volet sont renvoyées et non ses enfants. Qu'est-ce qui pourrait causer ce comportement bizarre ?! Ça n'a aucun sens.Les appels d'accessibilité active (COM) reviennent différemment selon que l'appelant est un thread ou un processus. Quelle?

+0

La question n'a pas de sens. Un processus est une collection de threads. Chaque appel est effectué dans un processus, sur l'un de ses threads. – MSalters

Répondre

1

Le processus d'assistance aura ses propres paramètres UAC, tandis qu'un thread engendré utilisera les paramètres UAC du processus d'origine. IE7 et IE8 ont des mesures de sécurité spéciales qui fonctionnent en conjonction avec l'UAC.

Questions connexes