Текущий архив: 2006.12.31;
Скачать: CL | DM;
ВнизИнформации из контекста потока Найти похожие ветки
← →
tar4 (2006-08-23 14:20) [0]После выполнения функции
CreateProcess(nil,Filename,nil,nil,CREATEe_SUSPEND,nil,nil,StartUpInfo,Process_I nformation)
и затем
Context.ContextFlags:=Context_Control (необходима для чтения или записи регистров) пытаюсь прочитать необходимую мне информацию о регистрах через функцию
GetThreadContext (hThread, Context), где hThread - хэндл потока, полученный из Process_Information.
Однако структура Context заполнена нулями. Почему, так и должно быть?
← →
BiN © (2006-08-23 15:16) [1]Дай угадаю.
You cannot get a valid context for a running thread.
(с) msdn
← →
BiN © (2006-08-23 16:32) [2]Пардон, не заметил CREATEe_SUSPEND.
Приведи тогда код, где, конечно же, проверяется значение, возвращенное функцией GetThreadContext.
← →
tar4 (2006-08-24 06:34) [3]Bin, спасибо за желание помощь. Проблему решил сам. Если кому интересно, то
не только перед SetThreadContext, но и перед GetThreadContext нужно обязательно инициировать одно из полей структуры Context - ContextFlags. Я это знал, но что-то не подумал, что не только для записи, но и для чтения, например, регистра Eip нужно присваивать ContextFlags=CONTEXT_CONTROL (чтение и запись ЕАХ, ЕСХ и т.д.).
← →
Ketmar © (2006-08-24 09:55) [4]> [3] tar4 (24.08.06 06:34)
о чём написано английским по хэлпу, кстати. %-))
Страницы: 1 вся ветка
Текущий архив: 2006.12.31;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.043 c