Ограничения операционной системы SendKeys

Существуют ли сложности, связанные с операционной системой, с помощью метода SendKeys vbScript? Я обновляю проект GE Cimplicity 4 на компьютере под управлением Windows XP до проекта GE Cimplicity 10 на виртуальной машине Windows Server 2012 R2.

Метод SendKeys использовался для изменения фокуса вкладки при открытии экрана. Сценарий теперь зависает на неопределенный срок, независимо от того, какой ключ отправляется с помощью SendKeys. Кто-нибудь сталкивался с зависаниями SendKeys после изменений операционной системы?

SendKeys “{TAB}”, 1

Документация, на которую я ссылался до сих пор:

http://proscada.ru/cimplicity/bce-lrf/lrfs/sendkeys.statement.htm

https://social.technet.microsoft.com/wiki/contents/articles/5169.vbscript-sendkeys-method.aspx

2 ответа

Решение

Проблема была сужена до новой функции Microsoft Security под названием "Контроль доступа пользователей (UAC)", которая появилась в Windows Vista. Эту функцию необходимо отключить, чтобы заставить команду sendKeys правильно работать с Cimplicity.

Что касается производительности sendKeys вне Cimplicity, sendKeys имеет несколько различных реализаций в зависимости от времени и операционной системы. Чтобы заставить sendKeys использовать только одну реализацию для получения согласованного времени (если согласованность является проблемой), вы можете обновить файл app.config для принудительной реализации, добавив:

<appSettings>
    <add key="SendKeys" value="SendInput"/>
</appSettings>

Ссылка:

https://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send(v=vs.110).aspx

 SendKeys "{TAB}1"

Строки (т.е. текст) должны быть заключены в кавычки.

Другие вопросы по тегам