Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GetActiveObject ROT Операция недоступна, Проблема получения интерфейса 
:(
    Опции темы
creasysee
Дата 13.9.2007, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



Есть следующая проблема: Есть приложение Vasya, имеющее, интерфес Vasya.Application.
Все хорошо, если приложение нормальное и нормально при старте прописывает себя в ROT (Running Object Table), а как известно, метод GetActiveObject берет инфу именно оттуда. Но приложение Vasya (оно серьезное и широко известное, поэтому я его здесь не называю) написано $%#$%$%-ми людьми и в ROT себя не прописывает. Как следствие, метод GetActiveObject возвращает для запущенного Vasya - "0x800401e3 Операция недоступна", как будто бы Vasya и не запущено вовсе.
На всякий случай привожу фрагмент кода как я это делаю:
Код

 IVasyaPtr pVasya = NULL;
 IUnknown *pUnk=NULL;
 AfxEnableControlContainer();
 CoInitialize(NULL);
 CLSID    sCLSID;
 HRESULT hr = AfxGetClassIDFromString("Vasya.Application", &sCLSID);
 // Если делать так:
 hr = GetActiveObject(sCLSID, NULL, &pUnk);    
 // Или так:
 hr = pVasya.GetActiveObject(sCLSID);
 // hr всегда равен 0x800401e3 "Операция недоступна".

Поэтому есть идеи получить id процесса, например через найденный hWnd главного окна приложения Vasya, но как потом получить интерфейс приложения всеравно не понятно.
Есть какие-нибудь идеи????
 
PM MAIL   Вверх
миг
Дата 17.11.2016, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 15.9.2008

Репутация: нет
Всего: 1



кстати может кому пригодиться. https://support.microsoft.com/en-us/kb/238610
--------------------
Oaks may fall when reeds stand the storm.
PM MAIL   Вверх
Google
  Дата 24.5.2019, 22:48 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.1226 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.