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

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

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

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

03.06.2009, 16:27. Просмотров 584. Ответов 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 элемент (C++):

Как получить ссылку на указатель или указатель на указатель в массиве? - C++
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

Получить указатель на элемент двунаправленного списка, добавить значение в начало списка и очистить его - C++
Нужно создать двунаправленный список //вроде так, но не уверен struct Double_List {//структура данных int Data;...

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2009, 16:27
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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