> OpenProcess(), ReadProcessMemory(), ToolHelp, MSDN. > > Все процессы в винде грузятся с определённого адреса - в > своей системе можешь узнать это, выведя в консоль > переменную hInstance, потом открываешь чужой процесс, > читаешь память начиная с этого адреса, и разбираешь > заголовок PE32. В сети куча хрени валяется по этому > вопросу. > > Тут ещё тот прикол - в WIn9x есть ToolHelp, Там есть > функция CreateToolhelp32Snapshot, которая даст тебе > проэнумерить все процессы в системе. Там сможешь найти свой > процесс по ID, и получить его имя Exe. В Win9x-Me нету > ReadProcessMemory ;-) > > А вот в NT4 нету ToolHelp, и, соответственно, нет > CreateToolhelp32Snapshot(), но зато есть > ReadProcessMemory(). > > А начиная с Win2K и выше, есть toolhelp. Т.е. если сделаешь > определялку только на ToolHelp, то на машинах с NT4 > работать не будет. А если только на ReadProcessMemory, то > 9x отваливаются ;-) > > Смотри, что тебе дороже, или делай универсальный вариант.
ладно спосибо что разеснил, я просто надеился что есть ещё какой нибудь способ помимо как просматривать весь список процессов, ну раз так значит придётся просматривать...
за грамотические ошибки извеняюсь(ну у каждого свои проблемы) :-(
Блин куда вы лезете! Школу хоть нормально закончите, и по русскому нормальную оценку получИте! ;-)25.09.04 12:38 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 25.09.04 12:56 Количество правок: 3
Все процессы в винде грузятся с определённого адреса - в своей системе можешь узнать это, выведя в консоль переменную hInstance, потом открываешь чужой процесс, читаешь память начиная с этого адреса, и разбираешь заголовок PE32. В сети куча хрени валяется по этому вопросу.
Тут ещё тот прикол - в WIn9x есть ToolHelp, Там есть функция CreateToolhelp32Snapshot, которая даст тебе проэнумерить все процессы в системе. Там сможешь найти свой процесс по ID, и получить его имя Exe. В Win9x-Me нету ReadProcessMemory ;-)
А вот в NT4 нету ToolHelp, и, соответственно, нет CreateToolhelp32Snapshot(), но зато есть ReadProcessMemory().
А начиная с Win2K и выше, есть toolhelp. Т.е. если сделаешь определялку только на ToolHelp, то на машинах с NT4 работать не будет. А если только на ReadProcessMemory, то 9x отваливаются ;-)
Смотри, что тебе дороже, или делай универсальный вариант.
[Win32] да ладно прикаловатся нащёт школы :-)25.09.04 15:01 Автор: Tamas Статус: Member
> OpenProcess(), ReadProcessMemory(), ToolHelp, MSDN. > > Все процессы в винде грузятся с определённого адреса - в > своей системе можешь узнать это, выведя в консоль > переменную hInstance, потом открываешь чужой процесс, > читаешь память начиная с этого адреса, и разбираешь > заголовок PE32. В сети куча хрени валяется по этому > вопросу. > > Тут ещё тот прикол - в WIn9x есть ToolHelp, Там есть > функция CreateToolhelp32Snapshot, которая даст тебе > проэнумерить все процессы в системе. Там сможешь найти свой > процесс по ID, и получить его имя Exe. В Win9x-Me нету > ReadProcessMemory ;-) > > А вот в NT4 нету ToolHelp, и, соответственно, нет > CreateToolhelp32Snapshot(), но зато есть > ReadProcessMemory(). > > А начиная с Win2K и выше, есть toolhelp. Т.е. если сделаешь > определялку только на ToolHelp, то на машинах с NT4 > работать не будет. А если только на ReadProcessMemory, то > 9x отваливаются ;-) > > Смотри, что тебе дороже, или делай универсальный вариант.
ладно спосибо что разеснил, я просто надеился что есть ещё какой нибудь способ помимо как просматривать весь список процессов, ну раз так значит придётся просматривать...
за грамотические ошибки извеняюсь(ну у каждого свои проблемы) :-(