Автор Тема: Что есть ActiveX/COM (AutoItX)?  (Прочитано 29958 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Archy26 [?]

  • Eve Deve Team
  • *
  • Сообщений: 60
  • Репутация: 42
  • Пол: Мужской
  • EVE DEVE eve bot development group
    • Награды
Что есть ActiveX/COM (AutoItX)?
« Создано: Сентябрь 06, 2009, 06:04:38 »
Что это и с чем его едят :)

Перевод из справки AutoItX.chm:
Цитировать
AutoItX представляет собой DLL версию модуля AutoIt v3, которая обеспечивает набор функций по AutoIt через ActiveX / COM и DLL интерфейс. Это означает, что вы можете добавить AutoIt-подобные функции в ваш любимый скриптовый язык, и языки программирования, например, VB, VBScript, Delphi, C, C + +, KiXtart, и в большинстве других языков, которые поддерживают использование библиотек (DLL).

В связи с тем что AutoItX предоставляет определенные функции AutoIt v3, вам следует прочитать файл справки для AutoIt v3 и ознакомиться с основными понятиями, такими как:

AutoIt Window Info Tool
Windows
Controls

Оригинальная версия AutoIt поставлялась с двумя управляющими элементами: AutoItX (COM / ActiveX Control) и AutoItDLL (управление DLL). В этой новой версии как COM так и DLL версии были объединены в одно управление AutoItX, который обеспечивает оба метода доступа.

То как вы будете использовать AutoItX зависит от среды разработки (языка) в который вы хотите его использовать. Если вы используете нечто поддерживающее доступ к COM-объектам (например, VBScript), то использование AutoItX в качестве управления COM весьма рекомендуется. Если вы хотите использовать AutoItX из таких языков как С, то использовать его в качестве DLL будет проще.
« Последнее редактирование: Сентябрь 06, 2009, 09:42:17 от CreatoR »
В моей семье всё происходит так, КАК Я СКАЖУ!
...а я - молчу.

Русское сообщество AutoIt

Что есть ActiveX/COM (AutoItX)?
« Отправлен: Сентябрь 06, 2009, 06:04:38 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7762
  • Репутация: 2275
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #1, Отправлен: Сентябрь 06, 2009, 07:27:19 »
Поправил первое сообщение добавив описание.


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн Archy26 [?]

  • Eve Deve Team
  • *
  • Сообщений: 60

  • Автор темы
  • Репутация: 42
  • Пол: Мужской
  • EVE DEVE eve bot development group
    • Награды
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #2, Отправлен: Сентябрь 06, 2009, 08:21:05 »
О! Тогда ясно почему на всех форумах эта ветка пустая.  ;D

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5349
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #3, Отправлен: Сентябрь 09, 2009, 04:21:26 »
О! Тогда ясно почему на всех форумах эта ветка пустая.  ;D

Просто намного проще использовать AutoIt в "чистом виде" нежели, например VBScript + AutoItX. Я раньше использовал VBScript, но раздражало отсутствие графического интерфейса. Попробывал AutoItX, плюнул на все это хозяйство и перешел на AutoIt.

:)

А вообще, эта ветка на всех форумах на последнем месте.


Думай, прежде чем говорить.

Русское сообщество AutoIt

Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #3 Отправлен: Сентябрь 09, 2009, 04:21:26 »

Оффлайн Belfigor [?]

  • Локальный модератор
  • *
  • Сообщений: 3458
  • Репутация: 924
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #4, Отправлен: Сентябрь 09, 2009, 06:14:34 »
Это типо мы в каком нибудь другом языке при помощи аналога команды DLLCall пишем запрос в AutoItX.dll на команду аналогичную какой-нибудь стандартной команде AutoIt и получаем результат аналогичный стандартной работе AutoIt'а?

Любые темы внутри раздела "Разработка ботов" не названные в соответствии с правилами раздела, будут закрываться.
Любой ответ, любого пользователя в теме с предупреждением, направленный на решение вопроса, произведенный до того как предупреждение было исправлено, приведет к закрытию темы и удалению всего что было после предупреждения.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7762
  • Репутация: 2275
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #5, Отправлен: Сентябрь 09, 2009, 07:00:53 »
Belfigor « Ответ #4, Отправлен: Сегодня в 05:14:34 »
Цитировать
при помощи аналога команды DLLCall
Не совсем, это делается с использованием COM-объектов.

Например используется на системе без AutoIt'а - даём пользователю один лишь файл AutoItX3.dll, и VBS-скрипт на выполнение:

Код: (vb) [Выделить]
  1. On Error Resume Next
  2.  
  3.  
  4. '================== AutoItX3.Control Object Check & Register ==================
  5. Set oShell = WScript.CreateObject("WScript.Shell")
  6. Set oFS = WScript.CreateObject("Scripting.FileSystemObject")
  7. Set oAutoIt = WScript.CreateObject("AutoItX3.Control")
  8.  
  9. If Not IsObject(oAutoIt) Then
  10.     AutoItX3_dll = ".\AutoItX3.dll"
  11.    
  12.     If Not oFS.FileExists(AutoItX3_dll) Then
  13.         MsgBox "AutoItX3.dll Not found." & vbCRLF & vbCRLF & "OK ==> EXIT", 16, "Error"
  14.         WScript.Quit 0
  15.     End If
  16.    
  17.     oShell.Exec "regsvr32.exe /S " & oFS.GetFile(AutoItX3_dll).Path
  18.    
  19.     Set oAutoIt = WScript.CreateObject("AutoItX3.Control")
  20.    
  21.     If Not IsObject(oAutoIt) Then
  22.         MsgBox "Can not register the AutoItX3.Control object." & vbCRLF & vbCRLF & "OK ==> EXIT", 16, "Error"
  23.         WScript.Quit 0
  24.     End If
  25. End If
  26. '================== AutoItX3.Control Object Check & Register ==================
  27.  
  28.  
  29. '....Script content starts here....
  30.  
  31. '================================ Run Opera browser as minimized window ================================
  32.  
  33. 'Opera Title (Тут после "REGEXPTITLE:" можно подставить заголовок или его часть, поддерживаются регулярные выражения)
  34. sTitle = "[CLASS:OpWindow;REGEXPTITLE:(?i).*- Opera.*?]"
  35.  
  36. 'Opera path
  37. sOpPath = oAutoIt.ScriptDir
  38. sOpExe = "Opera.exe"
  39.  
  40. 'Run Opera
  41. If oAutoIt.ProcessExists(sOpExe) = 0 Then
  42.     iPID = oAutoIt.Run(sOperaPath & "\" & sOpExe)
  43. Else
  44.     oAutoIt.WinActivate sTitle 'Just to demonstrate the SW_MINIMIZE effect
  45. End If
  46.  
  47. 'Wait window to show
  48. oAutoIt.Opt "WinWaitDelay", 0
  49. oAutoIt.WinWait sTitle, "", 10
  50.  
  51. 'Set window state
  52. oAutoIt.WinSetState sTitle, "", oAutoIt.SW_MINIMIZE
  53.  
  54. '================================ Script Part ================================
« Последнее редактирование: Сентябрь 09, 2009, 07:56:07 от CreatoR »

Оффлайн Belfigor [?]

  • Локальный модератор
  • *
  • Сообщений: 3458
  • Репутация: 924
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #6, Отправлен: Сентябрь 09, 2009, 16:14:29 »
Хе, спасибо, примерно понял о чем речь, полезная в принципе вещь, но действительно не очень актуальная по причине той что можно просто установить AutoIt :)

Оффлайн Vlasssov [?]

  • Осваивающий
  • **
  • Сообщений: 416
  • Репутация: 25
  • Пол: Мужской
  • Гопломах
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #7, Отправлен: Октябрь 05, 2009, 08:26:02 »
А где скачать можно подобное чудо? Надо вот применить внутри проекта на vba.net.

Русское сообщество AutoIt

Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #7 Отправлен: Октябрь 05, 2009, 08:26:02 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7762
  • Репутация: 2275
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #8, Отправлен: Октябрь 05, 2009, 08:42:40 »
Vlasssov [?]
Цитировать
где скачать можно подобное чудо?
Оно идёт вместе с AutoIt.

Оффлайн Vlasssov [?]

  • Осваивающий
  • **
  • Сообщений: 416
  • Репутация: 25
  • Пол: Мужской
  • Гопломах
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #9, Отправлен: Октябрь 05, 2009, 09:05:46 »
Точно... Сейчас посмотрел...  :IL_AutoIt_1:

Оффлайн soulmonger [?]

  • Новичок
  • *
  • Сообщений: 11
  • Репутация: 0
    • Награды
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #10, Отправлен: Май 24, 2010, 18:41:49 »
Задача: сделать программу(на каком-то языке), которая бы брала файл с исходником скрипта Autoit и выполняла бы его. Иными словами, нужно встроить в программу интерпретатор AutoIt'а. Возможно ли сделать это средствами AutoItX?

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4016
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #11, Отправлен: Май 24, 2010, 18:51:30 »
soulmonger
для этого нужно скомпилировать скрипт AutoIt средствами самого AutoIt. Тогда на выходе получится exe-файл, который можно будет запускать на машинах без установленного интерпретатора, т.к. exe-файл является solid-файлом, который помимо самого скрипта будет содержать и интерпретатор и все подключаемые библиотеки.

PS:
2Moderators
последние два поста имеет смысл перенести в отдельную тему в раздел для новичков

Оффлайн hikki [?]

  • Продвинутый
  • ***
  • Сообщений: 233
  • Репутация: 99
    • Награды
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #12, Отправлен: Май 24, 2010, 22:43:34 »
Задача: сделать программу(на каком-то языке), которая бы брала файл с исходником скрипта Autoit и выполняла бы его. Иными словами, нужно встроить в программу интерпретатор AutoIt'а. Возможно ли сделать это средствами AutoItX?
http://autoit-script.ru/index.php?topic=1911.0 вот в этой теме разобрано то что тебе нужно.
ЗЫ и действительно, перенестибы эти последние посты отсюда.

Оффлайн GreyBear [?]

  • Новичок
  • *
  • Сообщений: 2
  • Репутация: 0
    • Награды
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #13, Отправлен: Октябрь 11, 2012, 06:35:29 »
как через Com/ActiveX вызвать макрос?
вариант:
// JScript
var objAutoIt = WScript.CreateObject("AutoItX3.Control")
WScript.Echo(objAutoIt.KBLayout)
возвращает "undefined"
« Последнее редактирование: Октябрь 11, 2012, 06:46:22 от GreyBear »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7762
  • Репутация: 2275
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #14, Отправлен: Октябрь 11, 2012, 06:57:42 »
GreyBear  [?]
Цитировать
вариант
В справке написано, какие макросы поддерживаются (KBLayout не один из них).

Русское сообщество AutoIt

Re: Что есть ActiveX/COM (AutoItX)?
« Ответ #14 Отправлен: Октябрь 11, 2012, 06:57:42 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
12 Ответов
7097 Просмотров
Последний ответ Май 07, 2011, 13:36:55
от Arei
16 Ответов
6036 Просмотров
Последний ответ Август 04, 2012, 23:56:19
от Viktor1703
2 Ответов
1805 Просмотров
Последний ответ Сентябрь 01, 2012, 16:12:17
от joiner
0 Ответов
4989 Просмотров
Последний ответ Апрель 27, 2014, 23:45:18
от SiAl
11 Ответов
8414 Просмотров
Последний ответ Май 20, 2014, 23:28:18
от GOODVIN
4 Ответов
6131 Просмотров
Последний ответ Март 09, 2015, 16:33:10
от ivanius
0 Ответов
5022 Просмотров
Последний ответ Март 08, 2015, 06:19:56
от madmasles
10 Ответов
4698 Просмотров
Последний ответ Сентябрь 07, 2015, 16:38:07
от joiner
0 Ответов
3393 Просмотров
Последний ответ Август 13, 2015, 13:43:18
от madmasles
0 Ответов
3336 Просмотров
Последний ответ Март 10, 2016, 16:39:12
от belovkirill