AutoIt и CSharp(C#)

      В данной статье рассмотрен пример реализации внедрения функций языка программирования «AutoIt» в проект Windows Form и взаимодействия его с языком программирования CSharp(C#).
      AutoIt свободно распространяемый язык программирования, разработанный для автоматизации выполнения задач в Microsoft Windows. В ранних версиях программа преимущественно использовалась для создания скриптов автоматизации (иногда называемых макросами) для программ Microsoft Windows. Такие скрипты полезны для выполнения часто повторяющихся задач, таких как инсталляция идентичных наборов программ на большое количество компьютеров. В более поздних версиях AutoIt улучшился дизайн языка и возросла общая функциональность, что приблизило AutoIt к языкам общего назначения. AutoIt использует симуляцию нажатия клавиш, движений мыши и манипуляции с окнами, элементами управления. Это позволяет автоматизировать задачи пользователя Windows таким образом, какой невозможен или затруднён в других языках программирования. Кроме того, этот язык компактен, самодостаточен и работает на всех версиях Windows «прямо из коробки», без внешних .dll-библиотек и записей в реестре, что позволяет безопасно использовать его на серверах (Wikipedia).
      Для работы с данным языком программирования в «Microsoft Visuаl Studio», вам необходимо установить на компьютер программное обеспечение AutoIT, сделать это вы можете скачав последний дистрибутив «AutoIt» с сайта производителя(https://www.autoitscript.com/site/autoit/downloads/).
      Создайте проект Windows Form в Microsoft Visuаl Studio. Перейдите в «Обозреватель решений» и сделайте клик правой клавишей мыши по разделу «References». В открывшемся контекстном меню, выберете пункт «Добавить ссылку…».

      Перейдите в раздел COM библиотек и найдите библиотеку AutoItX3 1.0 Type Library. Поставьте галочку в чекбоксе напротив данной библиотеки и нажмите кнопку «ОК».
Внимание! Версия библиотеки может отличаться от представленной в данной статье.
      После добавления данной библиотеки в ссылки вашего проекта, у вас появится новый пункт «AutoIiX3Lib» в группе «References».
      Для работы с данным языком на других ПЭВМ, вы можете добавить в проект ссылки на библиотеки необходимые для работы, которые располагаются в директории «AutoItX» с установленным продуктом. Пример добавления ссылок на данные библиотеки представлен ниже.
      После успешного подключения необходимых для работы библиотек. Перейдите в редактор кода вашего проекта, нажав клавишу «F7». Для упрощения работы с функционалом «AutoIT», выполните подключение его пространства имен.
using AutoItX3Lib;
      Для реализации тестового примера работы с функционалом данного пространства имен перейдите в конструктор главной формы и выполните двойной клик правой клавишей мыши по свободному месту. Вы перейдете в редактор кода с установкой курсора в автоматически созданном методе «Form1_Load». Добавьте приведенный ниже код перемещения курсора в определенные координаты рабочего пространства экрана и эмуляции нажатия левой клавиши мыши.
AutoItX3 autoIt = new AutoItX3();
autoIt.MouseMove(513, 363, 10); 
autoIt.MouseClick("Left", 513, 363, 1, 10); 
autoIt.MouseMove(517, 363, 10);
autoIt.MouseClick("Left", 517, 363, 1, 10);
Так же вы можете добавить вызов метода запуска программы «Блокнот».
autoIt.Run(@"C:\WINDOWS\SYSTEM32\notepad.exe", "", autoIt.SW_SHOW);
      Запустите проект, нажав на клавиатуре клавишу «F5». До появления главной формы вашего проекта, у вас произойдет два перемещения курсора мыши по заданным координатам в коде и выполнится запуск программы «Блокнот».
      В случае если у вас возникнет ошибка: «Retrieving the COM class factory for component with CLSID {1A671297-FA74-4422-80FA-6C5D8CE4DE04} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).»
      Необходимо выполнить создание в реестре пустого строкового параметра «DllSurrogate» (REG_SZ (String)) по следующему пути: HKEY_CLASSES_ROOT\AppID\{6E8109C4-F369-415D-AF9A-2AEEFF313234}
      Если ваша операционная система имеет разрядность 64bit, то необходимо выполнить туже операцию по следующему пути: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\AppID\{6E8109C4-F369-415D-AF9A-2AEEFF313234}

Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!