Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TigrOm
Сообщений: n/a
#1

Надо получить указатель на ActiveX элемент - C++

03.06.2009, 16:27. Просмотров 582. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста, проблема такого рода:
Из другого процесса надо получить указатель на ActiveX элемент, например IDispatch..
Пробовал внедрять в процесс 'свой' DLL, но ничего не получилось(

HANDLE hThread = NULL;
HANDLE hProcess = NULL;

DWORD dwThreadId = NULL;
DWORD dwNumBytesXferred = 0;
DWORD dwOldProtect;

PDWORD pdwCodeRemote = NULL;

const int cbCodeSize = ((LPBYTE)AfterThreadFunc - (LPBYTE)ThreadFunc);
const DWORD cbMemSize = cbCodeSize + sizeof(inj_info) + 3;

inj_info *pInjLibInfoRemote = NULL;

__try {
hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, dwProcessID);

inj_info info = {
NULL,
''
};

HMODULE hKernel32;
hKernel32 = GetModuleHandle('kernel32.dll');
info.LoadLibrary = (func_LoadLibrary)GetProcAddress(hKernel32, 'LoadLibraryA');

strcpy(info.szFile, lpszDLLName);

pdwCodeRemote = (PDWORD)VirtualAllocEx(hProcess, NULL,
cbMemSize,MEM_COMMIT | MEM_TOP_DOWN,PAGE_EXECUTE_READWRITE);

BOOL ret = VirtualProtectEx(hProcess, pdwCodeRemote, cbMemSize,PAGE_EXECUTE_READWRITE,&dwOldProtect);

ret = WriteProcessMemory(hProcess, pdwCodeRemote,(LPVOID) ThreadFunc,cbCodeSize, &dwNumBytesXferred);

pInjLibInfoRemote = (inj_info *)(((PBYTE)pdwCodeRemote) +
((cbCodeSize + 4) & ~3));

ret = WriteProcessMemory(hProcess, pInjLibInfoRemote,&info,
sizeof(info), &dwNumBytesXferred);

DWORD dwThread;

CreateRemoteThread(hProcess, NULL, NULL, (LPTHREAD_START_ROUTINE) pdwCodeRemote, pInjLibInfoRemote, NULL, &dwThread);

При таком подходе пытаюсь сделать Attach дискриптора обьекта к CWnd, с возможным потом вызовом pWnd->GetControlUnknown();
Но увы.. Кто знает как можно решить проблему? Буду признателен..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2009, 16:27     Надо получить указатель на ActiveX элемент
Посмотрите здесь:

Надо создать ActiveX control (+) - C++
Надо создать следующий ActiveX control: Внешне он представляет из себя таблицу с переменным кол-вом строк и фиксированным кол-вом...

Надо написать ActiveX Control для отображения данных в виде таблицы - C++
Есть данные в виде таблицы с заранее неизвестным количеством строк и слобцов. Надо написать ActiveX Control который эти данные будет...

Как добавить элемент в очередь, используя указатель на последний элемент? - C++
Не пойму как добавить элемент в очередь используя указатель на последний элемент. Выполняю задание из книги М Доусона с++ и вот реализовать...

Вставить после данного элемента списка новый элемент, и вывести указатель на добавленный элемент - C++
Дано число D и указатель Р0 на один из элементов пустая двозвязного списка. Вставить после данного элемента списка новый элемент со...

Указатели( с элементами массива надо работать через указатель, а не индекс) - C++
Заданы осадки по месяцам, зафиксированные метеостанцией в течение прошедшего года. Занесите эти данные в массив и определите минимальное,...

Как получить внешние параметры в ActiveX? - C++
День добрый всем! Есть у меня Activex-компонент. Он должен связываться с сервером и открывать указанный ему файл. Имя файла задаётся...

Методы вызываются через указатель на объект класса; Как компилятор определяет, какой из методов надо вызвать? - C++
Ребята, если вникать, то вообще ничё непонятно. Вот смотрите: пусть у нас есть абстрактный класс abstr (abstr.h) и в нём определено,...

Указатель на элемент вектора - C++
Добрый день. У меня программа состоит по такому принципу примерно: есть класс контролер, в котором находятся два модуля, первый это ...

Получить указатель на массив указателей - C++
Есть массив инициализированных указателей: Result* res; for (int i=0;i<100; i++) { res=new Result(); } Подскажите...

Как получить указатель на функцию - C++
Здравствуйте! Подскажите, как получить указатель на функцию? Амперсанд не помогает. class Menu{ private: //...

Вернуть указатель на первый элемент - C++
Здравствуйте, помогите пожалуйста с проблемой:) Как вернуть указатель на первый элемент отсортированного списка, чтобы список...

Создать указатель на элемент массива - C++
Как создать указатель на элемент a Например у меня элемент a выглядит так: *(*(a + i) + j)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru