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

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

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

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

03.06.2009, 16:27. Просмотров 575. Ответов 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++ Надо создать ActiveX control (+)
Надо написать ActiveX Control для отображения данных в виде таблицы C++
Как получить внешние параметры в ActiveX? C++
Указатели( с элементами массива надо работать через указатель, а не индекс) C++
C++ Методы вызываются через указатель на объект класса; Как компилятор определяет, какой из методов надо вызвать?
Получить указатель на символ строки string C++
Как получить указатель на функцию C++
C++ Указатель на элемент вектора
Создать указатель на элемент массива C++
C++ Указатель на элемент контейнера list

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

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

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