Итак, вопрос следующий: можно ли получить командную строку из уже запущенного процесса? Возможно кто-нибудь подскажет в каком направлении нужно копать
Всем заранее большое спасибо.
А под NT-ями есть еще приятноя функция ::CommandLineToArgvW()
Если процесс не свой то ZwQueryInformationProcess(..ProcessBasicInformation..)
Затем по полученному укаазтелю вычитать PEB чужого процесса через ReadProcessMemory
Затем взять из вычитанного пеба поле ProcessParameters и вычитать оттуда RTL_USER_PROCESS_PARAMETERS
А в RTL_USER_PROCESS_PARAMETERS есть поле CurrentDirectoryName типа UNICODE_STRING в котором есть Length и Buffer который опять же надо вычитать
Здравствуйте, Аноним, Вы писали:
А>Если процесс не свой то ZwQueryInformationProcess(..ProcessBasicInformation..)
А>Затем по полученному укаазтелю вычитать PEB чужого процесса через ReadProcessMemory
А>Затем взять из вычитанного пеба поле ProcessParameters и вычитать оттуда RTL_USER_PROCESS_PARAMETERS
А>А в RTL_USER_PROCESS_PARAMETERS есть поле CurrentDirectoryName типа UNICODE_STRING в котором есть Length и Buffer который опять же надо вычитать
Вот здесь есть код для этого и других методов:
http://www.rsdn.ru/forum/message/18642.flat.aspxАвтор: Shilon
Дата: 24.12.01
.
Здравствуйте, Regulus, Вы писали:
R>Итак, вопрос следующий: можно ли получить командную строку из уже запущенного процесса? Возможно кто-нибудь подскажет в каком направлении нужно копать
http://rsdn.ru/Forum/message/843019.1.aspxАвтор: Pavel Dvorkin
Дата: 08.10.04