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

Вниз

handle   Найти похожие ветки 

 
Rust   (2008-04-13 14:52) [0]

как можно по handle определить местоположение запускаемого файла?


 
Leonid Troyanovsky ©   (2008-04-13 15:20) [1]


> Rust   (13.04.08 14:52)  

> как можно по handle определить местоположение запускаемого
> файла?

Потрудитесь излагать ваши мысли яснее.

--
Regards, LVT.


 
Rust   (2008-04-13 15:29) [2]

ну.. есть процесс. нужно найти, откуда она запущена?
например "c:\windows\calc.exe"


 
palva ©   (2008-04-13 15:46) [3]

Используйте функции
EnumProcessModules
GetModuleFileNameEx
Выберите среди найденных модулей файл с расширением exe. Скорее всего, такой будет один.


 
Rust   (2008-04-13 17:26) [4]

хм.. погуглил, оказалось, что >getmodulefilename как и GetModuleHandle работает в рамках только своего процесса. вот.. другого решения нет?


 
palva ©   (2008-04-13 18:18) [5]

О другом решении я даже не думал, поскольку у меня эти функции работали и меня устраивали. Я искал процессы, выполняющие определенный вирусный файл, находил их и убивал.

Допускаю, что я неправильно понял ваш вопрос.


 
palva ©   (2008-04-13 18:22) [6]


> у меня эти функции работали и меня устраивали

конечно, это были те функции которые я назвал в [3], а не те, которые упомянуты в [4]


 
Leonid Troyanovsky ©   (2008-04-13 18:39) [7]


> Rust   (13.04.08 17:26) [4]

> работает в рамках только своего процесса. вот.. другого
> решения нет?

http://www.rsdn.ru/Forum/?mid=18652 ;)
Хотя, нет, конечно же GetModuleFileNameEx, GetModuleBaseName &etc.

--
Regards, LVT.


 
Rust   (2008-04-13 18:55) [8]

спасибо, уже нашел выход..
t:=findwindow(nil,"calculator");
if t<>0 then
begin
 showmessage("Found!");
 GetWindowThreadProcessId(t, @Pid);
 tt:=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pid);
 mm.dwSize:=SizeOf(TModuleEntry32);
 if Module32First(tt,mm) then showmessage(strpas(mm.szExePath));

/////////////
 Pid: Cardinal;
 mm: TModuleEntry32;


 
Leonid Troyanovsky ©   (2008-04-13 19:09) [9]


> Rust   (13.04.08 18:55) [8]

> спасибо, уже нашел выход..

Ну, примерно это мы и подозревали, хе-хе.

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

--
Regards, LVT.


 
Rust   (2008-04-13 19:13) [10]

не скажите... мы его по хендлу отслеживаем..и это не обязательно окно..

> как по хендлу окна узнать имя файла екзешника, его породившего.

я подумал, так бы меня не поняли...
но все равно, спасибо


 
Leonid Troyanovsky ©   (2008-04-13 19:26) [11]


> Rust   (13.04.08 19:13) [10]

> не скажите... мы его по хендлу отслеживаем..и это не обязательно
> окно..

Чем дальше в лес, тем толще партизаны.

Кого "его", и как это: "по хендлу отслеживаем".

> я подумал, так бы меня не поняли...

Сравним
"как можно по handle определить местоположение запускаемого файла?"
vs
"как по хендлу окна узнать имя файла екзешника, его породившего?"

Ну, дык, где понятней?

--
Regards, LVT.



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

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

Наверх




Память: 0.49 MB
Время: 0.023 c
3-1196078709
Тимур
2007-11-26 15:05
2008.05.11
SQL.ADD выдает ошибку


2-1208157567
Костик
2008-04-14 11:19
2008.05.11
Как экзэшнику скопировать себя?....


15-1206783905
builder
2008-03-29 12:45
2008.05.11
Посоветуйте программку для прослушивания радио через интернет


2-1207842186
smartleds
2008-04-10 19:43
2008.05.11
Еще вопрос а как можно програмно нажать кнопку


15-1206945625
TUser
2008-03-31 10:40
2008.05.11
Чтение файлов