Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.033 c
2-1169582967
raqy.style
2007-01-23 23:09
2007.02.11
Invalid Floating Point Operation


15-1169119888
xayam
2007-01-18 14:31
2007.02.11
Открытые или коммерческие проекты?


2-1168556318
Wind
2007-01-12 01:58
2007.02.11
Создание *.xls отчета.


1-1166531767
iXT
2006-12-19 15:36
2007.02.11
TService


2-1169480316
Jimmy
2007-01-22 18:38
2007.02.11
Узнать, имеет ли Edit фокус




   Наверх