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

Вниз

путь е екзешнику по окну   Найти похожие ветки 

 
user51   (2007-01-25 11:59) [0]

Хочу получить путь екзешника  создавшего  окно
var wndk:integer;
a : Array[0..MAX_PATH] of char
ProcessId : integer;
ThreadId : integer;
HandleWindow : Integer;

wndk:=FindAWindow(ComboBox1.text,"");
if  wndk <> 0 then
begin
ThreadId := GetWindowThreadProcessId(wndk,@ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
if GetModuleFileName(HandleWindow ,a, sizeof(a))=0
then //Application.MEssageBox(pchar("не могу получить    путь"),"ОШИБКА", 0);
end;

если HandleWindow=0 то пишет путь вызвавшей программы
в любом другом случае не может получить путь
в чем засада ?


 
Сергей М. ©   (2007-01-25 12:09) [1]

Твой HandleWindow не имеет ни малейшего отношения к хэндлам модулей.
Более того, то что ты назвал HandleWindow, должно было быть названо хотя бы как "HandleProcess", ибо это хэндл, полученный в результате открытия объекта типа процесс.


 
user51   (2007-01-25 12:12) [2]

а как получить хендл модуля ?


 
BiN ©   (2007-01-25 12:14) [3]


> Сергей М. ©   (25.01.07 12:09) [1]
>
> Твой HandleWindow не имеет ни малейшего отношения к хэндлам
> модулей.

У него вроде HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);


> user51   (25.01.07 12:12) [2]

Используй  GetModuleFileNameEx
И переменные лучше бы называть адекватно....


 
Сергей М. ©   (2007-01-25 12:52) [4]


> BiN ©   (25.01.07 12:14) [3]


> У него вроде HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,
> False,ProcessId);


Это я прекрасно вижу.
Он получает хэндл именно процесса, а не окна и уж тем более не модуля.



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

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

Наверх




Память: 0.47 MB
Время: 0.033 c
2-1169635361
Kotofeich
2007-01-24 13:42
2007.02.11
Как пользоваться lib библиотекой


15-1169198159
Rule
2007-01-19 12:15
2007.02.11
срочно разыскивается компонент типа TImageList


15-1169056177
Ламот
2007-01-17 20:49
2007.02.11
Перевод 1С с *.dbf на SQL


1-1165501246
i-am-vladko
2006-12-07 17:20
2007.02.11
"сгладить" Resize


15-1169375293
syte_ser78
2007-01-21 13:28
2007.02.11
как распаковать tar.qz ?