У меня есть приложение, которое выполняет некоторую автоматизацию в произвольном приложении Windows. Я использовал Блокнот, чтобы проверить это.
Во время этой автоматизации я должен вызывать события из кода. В настоящее время я поддерживаю два типа событий, поскольку они кажутся наиболее распространенными, InvokePattern и ExpandCollapsePattern.
Я использую компьютер, к которому я могу удаленный рабочий стол, для проведения тестирования. Но это странно. Когда я подключаюсь к компьютеру через удаленный рабочий стол, приложение работает нормально. Когда я отключаюсь от компьютера, мой код перестает работать для ExpandCollapsePattern (InvokePattern отлично работает). Я получаю исключение InvalidOperationException.
В документации сказано, что это следует вызывать только в том случае, если узел помечен как LeafNode. Что отличает удаленный рабочий стол от того, что я получаю исключение InvalidOperationException?
Вот код, который мне сейчас нужно выполнить.
ExpandCollapseState state =
patternMenu.Current.ExpandCollapseState;
if (state == ExpandCollapseState.Expanded)
patternMenu.Collapse();
else if (state == ExpandCollapseState.PartiallyExpanded ||
state == ExpandCollapseState.Collapsed)
patternMenu.Expand();
patternMenu - это ExpandCollapsePattern, полученный от AutomationElement с помощью GetCurrentPattern.
Текущее значение ExpandCollapseState - «Свернуто», когда я распечатываю значение.
РЕДАКТИРОВАТЬ: Есть шанс, что я могу узнать, почему я получил отрицательный голос и почему это плохой вопрос? Я действительно смущен тем, что происходит, так как кажется, что он не работает, только когда удаленный рабочий стол закрыт. Если это действительно глупый вопрос, на который я должен знать ответ, я хотел бы получить объяснение, а затем проголосовать против.
Процесс, взаимодействующий с рабочим столом, не является службой Windows. Это приложение, которое я запускаю после того, как удалю рабочий стол на компьютер. Это потому, что я блокирую рабочий стол?
Я использую «Клиент терминального сервера» в Ubuntu для входа в систему Windows. При нажатии кнопки закрытия в этом приложении рабочий стол блокируется?