Что нового

Переход с AutoIt на C++. Аналог IE.au3 в C++ как искать, с чего начать?

Mr. Anderson

Новичок
Сообщения
122
Репутация
4
В общем решил что не плохо бы перейти с AutoIt на C++, пока что только читаю, знакомлюсь с возможностями.

Так вот, есть у меня пара вопросов:
1. Есть ли аналоги функций AutoIt в C++?
2. Возможно ли использовать IE в C++, как это делается в AutoIt? Если да, то как это искать? ActiveX? COM?
 
Автор
M

Mr. Anderson

Новичок
Сообщения
122
Репутация
4
AZJIO, я вижу вы разбираетесь, скажите, пожалуйста, что по вашему лучше? Dev-Cpp или Microsoft Visual C++ 2005 Express Edition (который я уже установил :whistle:smile:?

За ссылку спасибо, но я пока что читаю Джесса Либерти "Освой самостоятельно C++ за 21 день" (приступил к 10ому дню ^_^).

AZJIO [?]
AutoIt3 написан на Си, так что все функции это макросы написанные на языке Си.
Вы имеете ввиду что допустим IE.au3 легко перевести в формат понятный C++?

P.S. Судя по исходному коду могу предпологать, что там только упаковщик... я говорю о возможности использовать функции AutoIt в C++, вернее их аналоги
 

JaG

Новичок
Сообщения
17
Репутация
0
Он имеет в виду что в С++ нет этих функций, эти функции ты должен будеш написать САМ, тоесть автоит лиш является какбы конструктором и составляет программу из готовых кусков кода.
А в С++ ты должен будеш каждую функцию описывать самостоятельно.
Конечно же есть всевозможные библиотеки для С++ но разговор уже не об этом) :IL_AutoIt_1:


Добавлено:
Сообщение автоматически объединено:

Использование макросов AutoIT'a осуществляется через DLL версию, AutoItX3.dll подключается как обычная DLL библиотека.
В принципе можно использовать эту библиотеку в любых языках программирования которые поддерживают подключение dll.

Хорошая справка тут

http://www.script-coding.com/AutiItX.html

:whistle:
 

sendsay

sendsay
Сообщения
29
Репутация
0
Я использовал AutoItX3.dll в Дельфи. Отлично работает. Использовал СОМ и только СОМ, так как попытки обратиться к длл вызывали ошибку (Access violation ...)
Обязательно зарегистрируй библиотеку в системе (regsvr32.exe AutoitX3.dll)
Объяви СОМ объект, и подключи к нему библиотеку. И будет тебе счастье!!!! ))))
Еще посмотри тему (AutoIt + Delphi первый старт или как использовать).
;)
 
Автор
M

Mr. Anderson

Новичок
Сообщения
122
Репутация
4
JaG [?]
Конечно же есть всевозможные библиотеки для С++ но разговор уже не об этом

Как раз это меня интересует =) библиотеки, функции, классы, позволяющие работать как в AutoIt, в частности с IE.
 

JaG

Новичок
Сообщения
17
Репутация
0
AutoItX3.dll предоставляет только основные автоматизирующие функции автоита, такие как кликанье и тд, для работы с ИЕ есть другие библиотеки, которые созданы уже не для автоит
 
Автор
M

Mr. Anderson

Новичок
Сообщения
122
Репутация
4
JaG сказал(а):
AutoItX3.dll предоставляет только основные автоматизирующие функции автоита, такие как кликанье и тд, для работы с ИЕ есть другие библиотеки, которые созданы уже не для автоит
Так в том и вопрос топика =) как их найти эти самые библиотеки, как начать искать?
 

JaG

Новичок
Сообщения
17
Репутация
0
Не кто не будет против если я скажу "спроси у google.ru" :-[
 
Автор
M

Mr. Anderson

Новичок
Сообщения
122
Репутация
4
JaG сказал(а):
Не кто не будет против если я скажу "спроси у google.ru" :-[
Потому топик и создал, что не знаю как начать искать что бы найти. Так то уже третий день ищу.
 

sendsay

sendsay
Сообщения
29
Репутация
0
Ты походу вообще начал нестого!!! :blum:
Изучи сначала С++ и большая половина вопросов отпадет сама собой.
:blum:
А остальное отпадет позже!!!!!
 

AZJIO

Меценат
Меценат
Сообщения
2,878
Репутация
1,194
Mr. Anderson
Спроси на cyberforum.ru. Я не разбираюсь в Си, но не думаю, что на других языках нет UDF (хидеры), там такие же заголовочные файлы, только расширение другое windows.h и т.д. и также в папке include.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Mr. Anderson
В Autoit, для работы с IE, используется его объектная модель: MSDN: InternetExplorer Object
Кто мешает её использовать в Си?! :smile:
 
Автор
M

Mr. Anderson

Новичок
Сообщения
122
Репутация
4
Garrett, теперь понятно, буду изучать объекты! :smile:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Mr. Anderson

Может быть лучше использовать для каждой задачи именно тот инструмент, который для нее и был предназначен? Если нужна автоматизация чего-либо, то IMHO здесь AutoIt на первом месте. Ведь именно для этой цели он и был изначально предназначен. C/C++ конечно универсальный ЯП, но боюсь многие полезные для автоматизации функции придется писать самому или долго искать в сети. Даже такая простая функция, как ControlGetText(), может напрочь отбить желание писать дальше программу.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Yashied [?]
Может быть лучше использовать для каждой задачи именно тот инструмент, который для нее и был предназначен?
+1
Или комбинировать :smile:
 

sendsay

sendsay
Сообщения
29
Репутация
0
Yashied сказал(а):
Mr. Anderson

Может быть лучше использовать для каждой задачи именно тот инструмент, который для нее и был предназначен? Если нужна автоматизация чего-либо, то IMHO здесь AutoIt на первом месте. Ведь именно для этой цели он и был изначально предназначен. C/C++ конечно универсальный ЯП, но боюсь многие полезные для автоматизации функции придется писать самому или долго искать в сети. Даже такая простая функция, как ControlGetText(), может напрочь отбить желание писать дальше программу.
Вот по этому я и прикрутил к Дельфи АвтоИт через СОМ. Отлично все работает. :smile:
 

RUVATA

лучше один раз увидеть, чем десять раз услышать...
Сообщения
132
Репутация
38
Mr. Anderson, можно нескромный вопрос, что Вас сподвигло? ...
Я вот наоборот :smile: ...
С#(Microsoft Visual C) и С++ (Borland C) знаю конечно посредственно...
Но вот с Vb.NET и Java знаком очень даже плотно...
И авторитетно Вам могу сказать, что в вопросах автоматизации (о чем уже упомянул Yashied) AutoIt наверно одно из самых лучших решений, в плане простоты, да и функционал постоянно расширяется.
Изучения такого языка как C потребует от Вас больших усилий, и еще больших может потребовать в зависимости от того где и как вы планируете его применять.
Вот лишь часть из проблем с которыми Вы однозначно столкнетесь, если ранее программировали только на AutoIt.
1) Принципы ООП (Объектно ориентированного программирования), что есть основа, если Вы ее не "прочувствуете" будет сложно многие вещи понять.
2) Если вы собираетесь что либо автоматизировать в среде Windows, вникнуть в суть технологии COM (DCOM, OLE)
3) Типы данных (О это тема тем!!!) в языках такого уровня как С, разделение типов будет ломать Вам голову на каждом шагу :smile:))
Львиная доля всех ошибок приходится как раз на "не совпадение/совместимоть/приведение типов"
4) На современном этапе просто необходимо использовать готовые решения... отсюда вникаем в WinAPI ,это тоже еще тот орешек.
5) Если Вы подумываете о кроссплатформенности Ваших будущих приложений, которую Вам не может обеспечить AutoIt, то в этой области вобще "черт ногу сломит"... учить, учить, учить.

Дабы не тратить уйму времени и сил, я бы посоветовал Вам определиться с "целями" которые Вы ставите пред собой...
 

eropov

Jury
Сообщения
195
Репутация
25
RUVATA вы правы, гемороя полно :laugh:
Я не знаю С++, но я знаю СИ.
СИ низкоуровневый, процедурный язык, на нем написан windows(в большей части), в нем нет понятия ООП. Насчет кросплатформенности могу сказать, что для linux будет нужен отдельный компилятор, а для windows (в зависимости от разрядности(32 или 64 бит)) геморой будет заключаться в переменных типа integer(целое число)т.е для 32 битной системы в вашем исходнике нужно будет переменным int изначально задавать их размер 4 байта ,а в 64 разрядной системе 8 байт.
 
Верх