информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыСетевые кракеры и правда о деле ЛевинаПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[Win32] Ну просто идиотскай вопрос... 24.09.04 16:05  
Автор: Tamas Статус: Member
<"чистая" ссылка>
Как средствами winapi имея хендел окна получить имя эгзешника и ID просесса ???

Зарание блогодарен всем кто ответит :-)
[Win32] GetWindowThreadProcessId() поможет. 24.09.04 17:12  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
это понятно можно ID получить а как нащёт имини фаила ? 25.09.04 11:50  
Автор: Tamas Статус: Member
<"чистая" ссылка>
Блин куда вы лезете! Школу хоть нормально закончите, и по русскому нормальную оценку получИте! ;-) 25.09.04 12:38  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 25.09.04 12:56  Количество правок: 3
<"чистая" ссылка>
OpenProcess(), ReadProcessMemory(), ToolHelp, MSDN.

Все процессы в винде грузятся с определённого адреса - в своей системе можешь узнать это, выведя в консоль переменную 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 отваливаются ;-)
>
> Смотри, что тебе дороже, или делай универсальный вариант.


ладно спосибо что разеснил, я просто надеился что есть ещё какой нибудь способ помимо как просматривать весь список процессов, ну раз так значит придётся просматривать...

за грамотические ошибки извеняюсь(ну у каждого свои проблемы) :-(
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach