2009-09-14 1 views
0

У меня есть код, который использует Microsoft Active Accessbility для получения информации об активном окне. Как ни странно, я могу только перечислять все элементы управления в окне (в данном случае Internet Explorer), если я использую процесс. Если я создаю поток и вызову ТОЧНО тот же код, MSAA вернет только подмножество элементов управления. Обычно просто панель меню и панели инструментов. Панель с фактической веб-страницей не будет перечисляться. Возвращается только информация о панели, а не ее дочерние элементы. Что может вызвать это странное поведение ?! Без разницы.Вызовы Active Accessibility (COM) возвращаются по-разному в зависимости от того, является ли вызывающий поток потоком или процессом. Какие?

+0

Вопрос не имеет смысла. Процесс представляет собой набор потоков. Каждый вызов выполняется в процессе, на одном из его потоков. – MSalters

ответ

1

Вспомогательный процесс будет иметь свои собственные настройки UAC, в то время как порожденный поток будет использовать настройки UAC исходного процесса. В IE7 и IE8 предусмотрены специальные меры безопасности, которые работают совместно с UAC.