С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 01.04.2009
Сообщений: 44

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

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

Студворк — интернет-сервис помощи студентам
Через 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; //Создаем документ ворд void __fastcall...

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

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

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

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

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

#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
man_of_ring, спасибо за поддержку ))

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

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

Удачи, Владимир
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
13.02.2011, 13:41
под рукой был дельфи....
закодил эту весчь....
получил в ответ типа что для этого объекта нет свойства 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
Привет есче раз.

Как написал , занудная мысль о всезнающем 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
печально ((
не ложиться этот актив икс на палитру...
а это значит что этот объект не имеет автоматизацию...
жаль..
))
но как всегда наш добрый яндекс был на высоте выплюнув ищущему 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
не люблю не доводит до конца начатое

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

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

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
на всякий П...
не могу вспомнить точно че я исмпортил тоди wshost.exe
или этот OCX
помоему все таки OCX.
хотя я точно помню...что по классам которые будут в компоненте
они совпадали.

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

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

это все пока.

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

Удачи.

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

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

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru