Войти

Показать полную графическую версию : [решено] Где посмотреть класс объекта, чтобы потом запустить его в скрипте функцией objcreate?


evg64
29-09-2009, 23:51
Хочу в скрипте запустить одну прогу, установленную на компе. Смотрю справку objcreate: нужно знать класс окна. Пробую так:

$obj=objcreate("COCR2.application"); COCR2.exe - так называется прога
msgbox(0,0,isobj($obj))

Не получается, в мсгбоксе 0. Значит класс не application. Есть у меня на компе некий инспектор объектов oleview.exe - покопался в нем, но как через него посмотреть класс и можно ли вообще это сделать, я так и не понял.
Вопрос: как узнать класс объекта?

kaster
30-09-2009, 00:10
Все правильно. Надо через oleview найти свой объект через название. порой это сложно, потому как поиска, вроде, в этой проге нет.
после того как найдешь, в правом окне, где много информации про класс, найди строку - VersionIndependentProgID
вот его значение и есть параметр с помощью которого создается объект.
к примеру

http://pic.ipicture.ru/uploads/090930/5337/thumbs/OxZ1f1bV7y.png (http://ipicture.ru/Gallery/Viewfull/24414072.html)

evg64
30-09-2009, 00:59
Надо через oleview найти свой объект через название »
А откуда брать название? Явно не COCR2.exe)

В oleview.exe есть кнопка ViewTypeLib - думал может в открывшемся окне укажу путь к своему экзешнику и получу о нем необходимую инфу. Не получилось - выскочило окно Error loading Type library/dll.

kaster
30-09-2009, 01:08
А откуда брать название? Явно не COCR2.exe) »
А ты уверен что твоя программа поддерживает подобный вызов?
Я обычно смотрю в Object classes - All Objects
Должен же быть у твоей программы хоть какой-то опознавательный знак :teeth:

evg64
30-09-2009, 07:28
Не уверен, что она поддерживает.
Она называется COCR2.exe - это все что я знаю... а разве обычно можно знать о проге больше?

А как, например, там найти класс объекта для mspaint.exe - тоже ведь ничего не знаем больше) Касательно приложений там только насчет MS Office все четко: прям так и пишут "Приложение Microsoft office excel" или "...word" ) Про другие проги там так прямо не написано)

Iska
30-09-2009, 09:58
evg64, далеко не все приложения поддерживают Automation, потому Вас и спрашивают, что сие за приложение, как называется, адрес страницы в интернете, где его можно взять/почитать. Microsoft Paint, например, Automation не поддерживает.

Как найти… Самый быстрый способ — Google :), иначе же, как выше и было сказано, смотреть в том или ином браузере объектов (в том же Microsoft OLE Viewer, Object Browser от редактора VBA MS Office; неплох и TypeLib Browser от José Roca), ориентируясь, например, на пути расположения соответствующих библиотек.

evg64
30-09-2009, 19:19
CORC2.exe - это распознаватель китайских иероглифов на рисунках .bmp. Посмотреть/скачать можно тут (http://users.belgacom.net/chardic/cocr2.html) . Если эта штука не поддерживает Automation, то и не надо, переживу)
P.S. Когда дело касается маленьких и малоизвестных программок вроде этой, инфу о них можно найти практически только на их родном сайте. Но даже там далеко не всегда (точнее, я ни разу не видел) разработчики указывают, поддерживает ли прога Automation. Таким образом, верно ли, что далеко не всегда можно узнать насчет поддержки Automation?

Iska
30-09-2009, 19:26
С помощью вышеуказанных инструментов (браузеров объектов) — практически всегда.




© OSzone.net 2001-2012