Re: Взаимодействие с dll, внедренными в "чужие" консольные п
От: alexey_ma Израиль  
Дата: 24.12.09 07:35
Оценка: 1 (1)
Здравствуйте, Unsacrificed, Вы писали:

U>Необходимо выполнение неких операций в контексте других приложений, причем действия должны запускаться из "моего" приложения. Для GUI приложений это реализовано через hook типа WH_GETMESSAGE (к приложению цепляется dll обрабатывающая этот hook и обрабатывает посылаемые "моим" приложением сообщения). Для консольных приложений (а точнее приложений без очереди событий) такое не проходит, отсюда вопрос: как реализовать такое взаимодействие для приложений без очереди событий (консольных)?

Можно попробовать добраться до консоли не из хука, а снаружи, из Вашего процесса. AttachConsole и т.д. Console Functions.
Если все же нужно внедряться в косольный процесс то можно попробовать использовать не хуковый метод внедрения а, например, способ с CreateRemoteThread, и соответственно, взаимодействие между Вашим процессом и удаленным потоком организовать не сообщениями, а с помощью MemoryMapFile, Pipe, MailSlots и т.п.
Уточните какие консольные приложения Вы имеете ввиду? Если это какие либо terminal emulation то стоит копнуть в сторону hllapi или ehllapi. Большенство широко используемых терминалов их поддерживают.( с этими api можно работать напрямую, из внешнего процесса).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.