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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ fscanf не работает с таблицами http://www.cyberforum.ru/cpp-beginners/thread476470.html
ситуация такая: у меня есть файл с таблицей (строки и столбики). но он не однородный, т.е. где-то 16 столбиков, где 20 столбиков. я так понял что fscanf не будет работать. посоветуйте, что делать? и...
C++ Как загрузить в мультидокумент изображение 24б? Как мне загрузить в мультидокумент изображение 24б. , только не как ресурс битмап, или можно ли где-нить поменять настройки и как битмап ( у меня автоматически преобразуется в 256) , помогите... http://www.cyberforum.ru/cpp-beginners/thread476468.html
Умножения целых переменных произвольной длины C++
Стоит такая задача: необходимо написать пограмму на СИ++ умножения целых переменных произвольной длины с использованием операций сложения и сдвига. Порывшись в источниках на эту тему получил...
C++ Получение длины строки в пикселях?
Как получить длину любой строки ListBoxa в пикселях?
C++ Объясните как сохранить текст в фаил (BCB6) http://www.cyberforum.ru/cpp-beginners/thread476414.html
В моей проге мне надо, чтобы текст, который будет введен в Edit сохранился в текстовом файле по заданному направлению. Большое спасибо!!!
C++ Можно ли как-то подключить иснтрументы Matlab для работы с нейронными сетями в VC++? У меня такой вопрос: можно ли как-то подключить иснтрументы Matlab для работы с нейронными сетями в VC++? подробнее

Показать сообщение отдельно
TigrOm
Сообщений: n/a

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

03.06.2009, 16:27. Просмотров 583. Ответов 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();
Но увы.. Кто знает как можно решить проблему? Буду признателен..
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru