.NET 4.x Не работает библиотека AutoIt - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет, подключил как ссылку AutoItX3Lib и при компиляции простого нажатия ЛКМ по определенным координатам появляется ошибка. Пробовал закидывать все библиотеки от AutoIt в директорию ПП. Ошибка : Ошибка 13 Тип "System.Runtime.InteropServices.ComAwareEventInfo" не найден, однако он необходим для внедрения типов взаимодействия. Возможно, отсутствует ссылка на сборку. Перерыл все форумы, но ничего толком не нашел... Подскажите в чём проблема, чего не хватает... Код:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using AutoItX3Lib;
  11. using System.Runtime.InteropServices;
  12. namespace AutoIt
  13. {
  14. public partial class Form1 : Form
  15. {
  16. public Form1()
  17. {
  18. InitializeComponent();
  19. }
  20. private void Form1_Load(object sender, EventArgs e)
  21. {
  22. AutoItX3 ATI = new AutoItX3() ;
  23. ATI.MouseClick("left", 400, 500);
  24. }
  25. }

Решение задачи: «.NET 4.x Не работает библиотека AutoIt»

textual
Листинг программы
  1.                 Process pr = new Process();
  2.                 pr.StartInfo.FileName = @"c:\windows\System32\regsvr32.exe";
  3.                 pr.StartInfo.Arguments = @"...\AutoItX3.dll /s"; //путь до библиотеки под 32 бита
  4.                 pr.Start();
  5.                 Process pr2 = new Process();
  6.                 pr2.StartInfo.FileName = @"c:\windows\SysWoW64\regsvr32.exe";
  7.                 pr2.StartInfo.Arguments = @"...\AutoItX3_x64.dll /s";//путь до библиотеки под 64 бита
  8.                 pr2.Start();
  9.                 Assembly asm = Assembly.LoadFile(@"...\Interop.AutoItX3Lib.dll"); //регистрация библиотеки
  10.                 RegistrationServices regAsm = new RegistrationServices();
  11.                 bool bResult = regAsm.RegisterAssembly(asm, AssemblyRegistrationFlags.SetCodeBase);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы