Большая часть документации, которую я прочитал относительно UIA, хвалит его способность использоваться вне процесса со значительными улучшениями производительности по сравнению с клиентами вне процесса MSAA, но я не могу представить какую-либо документацию, описывающую, как на самом деле писать ваш клиент таким образом.
Я предполагаю, что это связано с тем, как вы вызываете CoCreateInstance, и поэтому первое, что я попробовал, было изменение аргумента с CLSCTX_INPROC_SERVER на CLSCTX_LOCAL_SERVER, что привело к ошибке «класс не зарегистрирован», который я до сих пор не нашел причину , Есть ли дополнительные шаги, необходимые с моей стороны?
Спасибо за любую помощь.
Вы делаете это с помощью IUIAutomationCacheRequest
, BuildUpdatedCache
а также GetCachedPattern
наряду с различными свойствами CachedXXXX. Для запроса текущих шаблонов / свойств требуется двусторонняя передача для каждого запроса; построение кеша позволяет получить все паттерны & свойства, которые вам нужны в одном запросе.
Других решений пока нет …