Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Путь   Найти похожие ветки 

 
Ivolg ©   (2007-07-17 14:47) [0]

Как можно узнать адресс файла, зная имя процесса ?


 
Сергей М. ©   (2007-07-17 14:48) [1]


> адресс файла


Эт что за зверь ?


 
Dib@zol ©   (2007-07-17 14:49) [2]


> Эт что за зверь ?

c:\windows\system32\ntoskrnl.exe - пример.


 
Сергей М. ©   (2007-07-17 14:50) [3]


> Dib@zol ©   (17.07.07 14:49) [2]


Ты видимо тоже не в состоянии произнести это страшное слово - полный путь к исполняемому файлу процесса ?)


 
Dib@zol ©   (2007-07-17 14:51) [4]

Нее, просто телепатор свой глюкавый фклучил...


 
Dib@zol ©   (2007-07-17 14:53) [5]

Удалено модератором


 
Сергей М. ©   (2007-07-17 14:53) [6]


> телепатор свой глюкавый


Я вижу.

По "пчелке".


 
Anatoly Podgoretsky ©   (2007-07-17 14:56) [7]

> Dib@zol  (17.07.2007 14:53:05)  [5]

Так форум же для начинающих, а он то к этому какое отношение имеет?


 
Юрий Зотов ©   (2007-07-17 16:32) [8]

> Ivolg ©   (17.07.07 14:47)

У файла нет адреса. А у процесса нет имени.

Наверное, стоит уточнить вопрос?


 
Ivolg ©   (2007-07-17 19:28) [9]

Сори, неправельно написал )))) Мне необходимо узнать полный путь к .exe"шнику, зная только его имя процесса !


 
Ivolg ©   (2007-07-17 19:34) [10]

Сори, неправельно написал )))) Мне необходимо узнать полный путь к .exe"шнику, зная только его имя процесса ! Можно с помощью функции
GetModuleFileName(), тогда как получить хендл процесса, используемый в первом параметре или я ошибаюсь ?


 
Pont   (2007-07-17 20:27) [11]

Ivolg
FindWindow
Попробуй это для поиска дескриптора окна. Чтобы найти экзешник надо в GetModuleFileName() один из параметров указать 0.


 
Ivolg ©   (2007-07-17 20:44) [12]

Если я не ошибаюсь, функция FindWindow(); ищет дискриптор окна только по его заголовку.


 
Anatoly Podgoretsky ©   (2007-07-17 20:55) [13]

> Ivolg  (17.07.2007 20:44:12)  [12]

Ошибаешься


 
Ivolg ©   (2007-07-19 18:33) [14]

Может кто подскажет как правильно использовать функцию GetModuleFileName() ?


 
Pont   (2007-07-19 19:07) [15]

http://www.netcode.ru/cpp/zert995.htm


 
Инс ©   (2007-07-19 20:11) [16]

GetModuleFileName работает не с хэндлом процесса, а с хэндлом исполняемого модуля - разные вещи.

Теперь что касается ответа на твой вопрос. Насколько я правильно телепатировал, у тебя есть только имя файла чужого процесса без пути, тебе нужно узнать путь. Так?


 
MsGuns ©   (2007-07-19 20:35) [17]

Юный хакер робко прячет цель свою в английских термах,
Он наивно полагает, будто ввел всех в заблужденье
Типа плохо сшитой фразой с кучей ляпов и описок

;)


 
Ivolg ©   (2007-07-19 22:09) [18]

Инс ©   (19.07.07 20:11) [16]

GetModuleFileName работает не с хэндлом процесса, а с хэндлом исполняемого модуля - разные вещи.

Теперь что касается ответа на твой вопрос. Насколько я правильно телепатировал, у тебя есть только имя файла чужого процесса без пути, тебе нужно узнать путь. Так?


Да. У меня есть только имя процесса, мне нужно по этому имени процесса, определить местонахождение файла. Например, имя процесса Project1.exe, после определения должно показать путь файла, C:\Program Files\Borland\Delphi7\Projects\Project1.exe.


 
Юрий Зотов ©   (2007-07-19 22:43) [19]

> Ivolg ©   (19.07.07 22:09) [18]

1. Project1.exe - это не имя процесса. Еще раз - у процессов имен нет. У них есть хэндлы, приоритеты и еще куча всего, но имен у них нет.

2. Если Вы хотите получить правильный ответ на какой-то вопрос, то и вопрос, видимо, нужно тоже формулировать правильно. По крайней мере, не употребляя терминов, смысл которых Вам непонятен. Иначе только вводите всех в заблуждение и шансы на правильный ответ, соответственно, падают.

3. Уточните вопрос - Вам нужно определить полный путь к файлу Project1.exe из САМОЙ программы Project1.exe, или из какой-то ДРУГОЙ программы?


 
Инс ©   (2007-07-20 09:20) [20]

Если программа чужая, то

1. С помощью ToolHelp получить список процессов


 
Инс ©   (2007-07-20 09:23) [21]

Ой, рано нажал отправить

2. Найти процесс, чей exename равен искомому
3. Запомнить идентификатор этого процесса
4. Открыть процесс с правами PROCESS_QUERY_INFORMATION
5. С помощью GetModuleFileNameEx и дескриптора, полученного в п.4. получить полный путь

Если программа твоя - Application.ExeName

Дерзай


 
Ivolg ©   (2007-07-20 10:42) [22]

Инс ©   (20.07.07 09:23) [21]
Спасибо за помощь ! Буду пробовать !

Юрий Зотов ©   (19.07.07 22:43) [19]

Имеется список процессов, такой же как и в "Диспетчере задач" (вкладка "Процессы"), и нужно получить путь до файла процесса. Например запустили мы некую прогу Test.exe из папки C:\Windows\, прога загрузилась в память и
появилась в списке процессов, в данном случае имя программы соответствует имени процесса Test.exe, который отображен в списке процессов. Нужно определить по названию процесса, какой файл был запущен и где он находится. Понятно, что заранее неизвестно откуда программа была запущена. Вот вся суть задачи.


 
Юрий Зотов ©   (2007-07-20 12:26) [23]

> Ivolg ©   (20.07.07 10:42) [22]

Сразу бы так - простыми словами и без всяких терминов. Сколько бы времени сэкономили.

Но снова - "название процесса". Ну нет у процесса никаких названий, понимаете? Не-ту.

Ответ - см. [20] и [21].

Но вообще, в ТАКОЙ постановке эта задача ОДНОЗНАЧНОГО решения не имеет. Ведь никто не мешает запустить хоть сотню программ Test.exe из РАЗНЫХ папок - и если известно только имя файла Test.exe, то что в таком случае делать? Выдавать первый найденный процесс? Выдавать их все? Еще что-то?

Если список процессов Вы строите сами, то есть простое и точное решение - запоминать в этом же списке не только имена файлов, а еще и ID процессов. Тогда ничего не придется искать (поскольку ID прoцесса просто сразу берется из списка, а по нему сразу же определяется полное имя его исполнимого файла).



Страницы: 1 вся ветка

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.018 c
2-1185430951
MVitaliyB
2007-07-26 10:22
2007.08.19
Работа с Новелом!


1-1181402540
Yus
2007-06-09 19:22
2007.08.19
RichEdit Как оперделить форматирование строки


15-1184615992
Gero
2007-07-16 23:59
2007.08.19
Ищу полезную программу


2-1185559407
Скарамуш
2007-07-27 22:03
2007.08.19
Реакция на клавишу


2-1184731695
tipman
2007-07-18 08:08
2007.08.19
Отладка DLL в DELPHI2005? есть проблема