У меня есть приложение, которое выполняет некоторую автоматизацию в произвольном приложении 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.Это приложение, которое я запускаю после того, как удаленно подключаюсь к компьютеру.Это потому, что я блокирую рабочий стол?
Я использую «Terminal Server Client» в Ubuntu для входа в систему Windows.Приводит ли блокировка рабочего стола к нажатию кнопки закрытия в этом приложении?