0 / 0 / 0
Регистрация: 01.04.2009
Сообщений: 44
1

Автоматизация через OLE объект

02.02.2011, 05:02. Показов 6991. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Через OLE объект пытаюсь получить имя домена:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <ComObj.hpp>
#include <sysvari.h>
 
Variant Per;
 
void __fastcall TMain::FormCreate(TObject *Sender)
{
   AnsiString ADomain;
   Per = CreateOleObject('WScript.Network');
   Per.OlePropertyGet('UserDomain',ADomain);
}
Выдает ошибку, что операции с семействами не поддерживаются. Может кто подскажет, где ошибка?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.02.2011, 05:02
Ответы с готовыми решениями:

не создает объект OLE
Необходимо создать объект WordArt в Word с помощью OLE Variant vVarApp, vVarDocs; //Создаем...

Как создать объект оператором new, если имеется только тип указателя на объект, переданный через шаблон?
Есть шаблон. Точно известно, что его параметр Т это указатель. Как с помощью new создать переменную...

Работа с Excel через OLE
Здравствуйте Использую C++ Builder 6, пытаюсь подключится к уже запущеному Excel приложению,...

OLE автоматизация
Добрый день! Помогите пожалуйста новичку. Объясните на пальцах как подключиться к OLE. Есть...

11
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
03.02.2011, 19:10 2
Скорее всего ему не нравится, что в качестве второго параметра функции OlePropertyGet ты передаешь объект AnsiString, хотя кто их разберет эти OLE объекты.

Я бы просто попробовал
Per->UserDomain;

Или быть может
ADomain = Per.OlePropertyGet('UserDomain');
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
10.02.2011, 23:09 3
вобщем как выразился boombastik 'хотя кто их разберет эти OLE объекты' не такое уж правильное мнение.
там несколько необычное понятие о строках, и вообще типах данных.
скорее всего используеться OleVariant в котором уже есть строковый тип, типа BStr или WideChar;
По крайне мере при запуске CodeInsign в Билдере или Дельфи, выпадает список с функциями и их параметрамии об этом можно судить даж по этому. И я бы сказал немного странное понятие о величине NULL, в мире Оле это переменная EmptyParam, это да.
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
10.02.2011, 23:12 4
поэтому может так

#include <ComObj.hpp>
#include <sysvari.h>
OleVariant Per;
void __fastcall TMain::FormCreate(TObject *Sender)
{
OleVariant ADomain;
Per = CreateOleObject('WScript.Network');
Per.OlePropertyGet('UserDomain',ADomain);
}
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
13.02.2011, 10:02 5
man_of_ring, спасибо за поддержку ))

я бы рассказал больше, если бы речь шла о VC++ или если бы у меня был установлен Borland Builder, в данном же случае я зделал все, что мог, немного, конечно, но лучше чем совсем ничего

Eugine, слушай man_of_ring, он дурному не научит

Удачи, Владимир
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
13.02.2011, 13:41 6
под рукой был дельфи....
закодил эту весчь....
получил в ответ типа что для этого объекта нет свойства OlePropertyGet.
Напрашиваеться вывод и вопрос а почему вот для ворда или экселя можно эти самые OlePropertyGet и OlePropertySet процедуры/функции вызывать ?

ответ сам по себе напрашиваеться значит этот wscript оных методов не имеет.
смотря в МСДН понял что это древовидная структура....и Wscript являеться предком многоих служб и сервисов....по крайне мере так показалось...
и файлец HOST он как раз обрабатывет.
вот....

сначала думал что типа TLB надо указать.... тлб не нашлось вовсе..
даже дллки нет...
пришлось набрать wscript.exe /?
и как вы думаете че оно родило? мессажебокс с параметрами.
........
да ! надо заметить помошь к этому экзе столь обширна .... что выражаеться в одном окошке в котром предлааеться обратиться в общую справку.... коей вовсе не существует...

если рыть дальше.... да можно нарыть много чего...
и всякие апи типа GetAdreess по получению IP даже рядом не стояли с этим WSCRIPT.
вообще это прям ясчик пандоры для троянов )))
открыл и дуй к хозяину сообсчать на каком IP
а кокой сетке в какой подсетке, какие DNS сервера какие WINS сервера маячит эта беееедненькая ламерская машина.

ЗЫ. boombastik, приятно познакомиться.

Удачи, Руслан !
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
13.02.2011, 14:13 7
Привет есче раз.

Как написал , занудная мысль о всезнающем WSCRIPT.NETWORK
не давала покоя, обратился к инстанции знающе обо всем в Окошках
к регедедиту....
очень интресные веши показала сия прграмма, есть тлб для WSCRIPT.NETWORK
есть, и еще о УРА !!! Eugine радуйся, есть OCX (по нашему ActiveX)
что ж... остаетья тока закинуть его на палитру и поковырять хорошенько.
жаль если у этой сволочи не будет лицензионного файла.
очень жаль....но не будем расстраиваться, а вдуг нам сдлают такой подарок.
Вскрытие показало след. результаты

C:WINDOWSsystem32wshom.ocx

File Version Information :

Version language : English (United States)
CompanyName : Microsoft Corporation
FileDescription : Windows Script Host Runtime Library
FileVersion : 5.6.0.8820
InternalName : wshom.ocx
LegalCopyright : Copyright © Microsoft Corp. 2002
OriginalFilename : wshom.ocx
ProductName : Microsoft (r) Windows Script Host Runtime Library
ProductVersion : 5.6.0.8820

Creation Date : 01/01/1980 00:00:00
Last Modif. Date : 03/08/2004 23:01:26
Last Access Date : 06/12/2004 00:00:00
FileSize : 98304 bytes ( 96,000 KB, 0,094 MB )
FileVersionInfoSize : 1748 bytes
File type : Dynamic Link Library (0x2)
Target OS : Win32 (0x4)
File/Product version : 5.6.0.8820 / 5.6.0.8820
Language : English (United States) (0x409)
Character Set : 1200 (ANSI - Unicode (BMP of ISO 10646)) (0x4B0)

Build Information :
Debug Version : no
Patched Version : no
Prerelease Version : no
Private Version : no
Special Build : no
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
13.02.2011, 15:35 8
печально ((
не ложиться этот актив икс на палитру...
а это значит что этот объект не имеет автоматизацию...
жаль..
))
но как всегда наш добрый яндекс был на высоте выплюнув ищущему 3 ссылочки...
http://stassh.kiev.ua/web/technologies/rundll/dll/wshom_ocx_1.htm
http://stassh.kiev.ua/web/technologies/rundll/dll/wshom_ocx_2.htm

http://www.activeserverpages.ru/iishelp/iis/htm/asp/wsho1mhx.htm

задаваясь...опять таки вопрсом зачем описывать интефейс для объекта автоматизации....к которому никак низя прицепиться

и в дебрях немецкого сайта...мля вот никогда не любил немецкий в школе а зря ))
натырил имя нашего объекта Wscript.Shell Wscript.Network
пробуем
ура ))
на палитру актив иксов втало
через Projects->Import Type Library
находим и добавляем wshom.ocx
и на палитре Activ X куча похожих рисунков компонентов
из низ выбираем WshNetwork
вот он !!!
мдя....чуть не забыл по ходу дела на том же фрицевском сайте надыбал
прогу веренее ее инсталяшку...
написанна на VB фиг пойми че там написанно на кнопках..
но потыкавшись можна найти у каждого OCX методы и функции
восчем линк вот
ftp://ftp.heise.de/pub/ct/listings/0113-204.zip
зоветься Scripting SPY
заметьте свое название оправдывает
да !!! умеют немцы денлать.
пошел курить и кофе пить.
надеюсь эпопея на этом закончиться.
восчем моих надежд этот Нетворк скрипт не оправдал...
принтеры и сетевые диски мне не нужны...
их и так можно через апи вытащить...

удачи.

З.Ы. ковырнете че нить скажите.
да !!! самое главное, зачем я использовал дельфи а не билдер
в С++ жесткая привязка если нет метода у объекта значит и в будущем и в прошлом и в настоящем этого метода НЕТ !!!
а в дельфи ? может быть и нет этого метода но днльфи то не знает об этом и поэтому верит всему чему скажешь )) гы-гы
а проще гря значит это что в дельфи можно указвать а можно и не указывать параметры....
кароче Дельфи такая же проститутка как Visual Basic.
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
13.02.2011, 15:59 9
не люблю не доводит до конца начатое

и в итоге .... получаем все что ты хотел

поцедурка на дельфи

procedure TForm1.Button3Click(Sender: TObject);
var
s : AnsiString;
begin
s:=WshNetwork1.UserDomain;
memo1.Lines.Add('User Domain is '+s);
s:=WshNetwork1.UserName;
memo1.Lines.Add('User Name is '+s);
s:=WshNetwork1.ComputerName;
memo1.Lines.Add('Computer Name is '+s);
end;

отчего я собстно оттталкивался инфа для чтения http://www.bratbaecker.de/mainframe.htm

исходник лежит тут
webfile.ru
Ваш файл WshScript.zip (размер 204 кбайт)

доступен по адресу: webfile.ru/115331 в течение 7 дней до 16:20 13.12.2004.

Благодарим за использование нашего сервиса!

всем спасибо
все свободны ))
шутка.
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
13.02.2011, 16:06 10
на всякий П...
не могу вспомнить точно че я исмпортил тоди wshost.exe
или этот OCX
помоему все таки OCX.
хотя я точно помню...что по классам которые будут в компоненте
они совпадали.

все таки помоему OCX

до кучи на ппалитре еще кое что появилось Shell чтото про Connections
восчем отходы производства...
но может и там че есть ?

это все пока.

рабочий день закончился.
)))
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
13.02.2011, 17:06 11
уже из дома
работающий исходничек на C++ Builder 6
лежит тут

Ваш файл WSnetwork.zip (размер 1057 кбайт)

доступен по адресу: webfile.ru/115412 в течение 7 дней до 17:25 13.12.2004.

Благодарим за использование нашего сервиса!

ЗЫ. Терзала мысль а как на С++ это ляжет
легло без проблем.
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
13.02.2011, 22:45 12
мда .... конечно то что хотелось автору так и автор и не получил.
но.... в принципе... скомпилированная из OCX TLB файл....
там ведь описаны Com интерфейсы этих WScript объектов, я пытался напямую через include подрубить эти описаловы интерфесов...
подрубил но проинициализировать объект...
восчем пока не разобрался...
но в дельфи при подключении через Uses этого ТЛБ юнита пошло...
и даже компонента не понадобилось...
опять таки сказываеться незнание .... как С++ рабоает с этими объектами интерфейсами... по виду похожими на классы....но со своими тонкостями...
причем как всегда...этот автоматический декомпилятор...
так тупо все сделал...кароче декомпилил все тупо в лоб..
но !!! все равно свет вконце тунеля есть... и вовсе не надо цепляться за этот ОЛЕ интерфейс.
в конце этой онлайн дискуссии с самим собой (крышняк у меня на месте)
хотелось бы напомнить что wshome.ocx надо такскать с собой...в той папке где лежит прога...
иначе виндоус поломиться его искать в виндоус, систем32, систем и одной ему ведомых местах...
а если найдет то найти может не той верссиии.
и значит ТЛБ библиотека будет либо устаревшей..либо слишком 'будушей'.
поэтому то и не любят так VB... и не только за его пи-код.
а за то что он так сильно привязан к платформе винды и целиком иногда завсит от набора OCX.. которые надо таскать за собой.

Удачи.

Отдельное спасибо Бомбастику. За критичный взгляд.
насчет плохих или никаких телодвижений помощи всем вопрошающим на этом форуме.
Каждый помогает другому в меру своих возможностей, знаний и открытости.

Да прибудет с Вами Сила.

С Уважением ваш Man of Ring.
0
13.02.2011, 22:45
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.02.2011, 22:45
Помогаю со студенческими работами здесь

Что такое Автоматизация в OLE и COM
Здорова! Только что прочитал главу про автоматизацию это типо не COM или COM хз. ниче не понял....

Ole объект в программе и настройка опций проекта
Здравствуйте, уважаемые! Сделала проект, в котором используется вызов Excel, как Ole объекта....

Общение с Excel через OLE
Недавно начал изучать с++. Использую ms vc++ 2010 express. Код такой // 2.cpp: определяет точку...

Можно ли связанный (или внедренный) OLE объект прокрутить на форме в OLE контейнере?
Динамически связанный OLE объект (документ Word) не помещяется целиком в форме. Можно ли связанный...

Как в книгу excel (ole объект) добавить картинку (т.е. объект image)
Создал книгу excel ExcelApp := CreateOleObject('Excel.Application'); ...

OLE-автоматизация. Управление форматом ячеек.
У нас есть два вопроса, касающиеся OLE-автоматизации: 1. Как управлять форматом ячеек через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Чем отличаются HashMap и Hashtable в Java
hw_wired 24.01.2025
В мире разработки на Java существует множество инструментов для работы с коллекциями данных, и среди них особое место занимают структуры данных для хранения пар ключ-значение. HashMap и Hashtable. . .
Как конвертировать видео в GIF
hw_wired 24.01.2025
В современном мире анимированные изображения стали неотъемлемой частью цифровой коммуникации. Формат GIF (Graphics Interchange Format) представляет собой особый тип файлов, который позволяет. . .
Как скопировать текст в буфер обмена на JavaScript во всех браузерах
hw_wired 24.01.2025
Копирование текста в буфер обмена стало неотъемлемой частью современных веб-приложений, значительно улучшающей пользовательский опыт и упрощающей работу с контентом. В эпоху активного обмена. . .
Как скрыть клавиатуру на Android
hw_wired 24.01.2025
При разработке Android-приложений часто возникает необходимость управлять видимостью экранной клавиатуры для улучшения пользовательского опыта. Одним из наиболее эффективных способов контроля. . .
Как обучить нейросеть создания картинок на Python
bytestream 24.01.2025
В эпоху цифровых технологий искусственный интеллект становится неотъемлемой частью творческого процесса. Особое место в этой области занимает разработка и обучение нейронных сетей для создания. . .
Как обучить нейросеть генерации текста на Python
bytestream 24.01.2025
В современном мире искусственный интеллект и машинное обучение становятся неотъемлемой частью многих технологических решений. Одной из наиболее интересных и востребованных задач в этой области. . .
Машинное обучение на Python
bytestream 24.01.2025
Введение в машинное обучение на Python Машинное обучение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, которая позволяет компьютерным системам. . .
Как удалить вирус-майнер с компьютера
hw_wired 24.01.2025
Вирусы-майнеры стали одной из наиболее серьезных угроз для пользователей компьютеров. Эти вредоносные программы тайно используют вычислительные ресурсы зараженного устройства для добычи криптовалюты. . .
Что такое веб-сервер, для чего он нужен и как работает
bytestream 24.01.2025
В современную эпоху цифровых технологий веб-сервер является фундаментальным компонентом интернет-инфраструктуры, обеспечивающим функционирование множества онлайн-сервисов и веб-сайтов. Этот. . .
Как в цикле for перебрать все элементы в словаре в Python
bytestream 24.01.2025
Словари в Python представляют собой мощные структуры данных, которые позволяют хранить информацию в формате ключ-значение. Эта особенность делает их незаменимыми при работе с данными, где требуется. . .
Как отменить rebase в Git
hw_wired 24.01.2025
Git rebase представляет собой мощный инструмент для управления историей коммитов в системе контроля версий Git. Этот механизм позволяет разработчикам изменять последовательность, комбинировать или. . .
Как поменять цвет input placeholder с помощью CSS
bytestream 24.01.2025
В веб-разработке оформление элементов пользовательского интерфейса играет ключевую роль в создании привлекательного и интуитивно понятного дизайна. Особое внимание уделяется формам ввода данных, где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru