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

Вниз

Мастера, помогите..   Найти похожие ветки 

 
YUS   (2001-11-01 03:13) [0]

Мастера, подскажите где ошибка? Нужно получить список окон и
имена ехе файлов.

uses tlhelp32;
procedure TForm1.Button2Click(Sender: TObject);
var
Window:hWnd; hSn: THandle; lppe: TProcessEntry32;
buffer: array [0..127] of char; ht, hProc: Cardinal;
begin
//Ищем хендл верхнего окна
Window:=GetForegroundWindow;
repeat
if (Window<>Application.Handle) and
(GetWindowText(Window,buffer,sizeof(buffer))<>0)
then begin
//Ищем ID процесса
ht := GetWindowThreadProcessId(Window,@hProc);
//Делаем снимок процесса
hSn := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS ,hProc);
//Получаем список всех процессов
if Process32First(hSn, lppe) then
repeat
//Сравниваем ID и получаем имя ехе и путь ????????????????
if lppe.th32ProcessID = ht then
begin
GetWindowText(Window,buffer,sizeof(buffer));
with ListView1.Items.Add do begin
Caption := buffer;
SubItems.Add(lppe.szExeFile);
end;
end;
until not Process32Next(hSn, lppe);
CloseHandle(hSn);
end;
//Ищем следующее окно
Window:= GetNextWindow(window,GW_HWNDNEXT);
until Window =0;

end;


 
troits ©   (2001-11-01 12:54) [1]

Так ,навскидку :
есть:
if lppe.th32ProcessID = ht then
должно быть
if lppe.th32ProcessID = hProc then

Да, в CreateToolHelp32Snapshot hProc передавать не нужно.


 
YUS   (2001-11-01 16:40) [2]

troits,
спасибо за направление все получилось.
Действительно if lppe.th32ProcessID = hProc then , а ht-ненужен
в ht := GetWindowThreadProcessId(Window,@hProc); ,но без CreateToolHelp32Snapshot не работает


 
troits ©   (2001-11-01 17:18) [3]

Я хотел сказать, что в функции
CreateToolHelp32Snapshot
при первом параметре TH32CS_SNAPPROCESS
второй игнорируется.
Можно поставить, например, 0.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-22195
LNix
2001-12-15 20:00
2002.01.08
string


6-22314
SDS
2001-06-10 23:58
2002.01.08
Вопрос о методе POST


1-22170
AVALLOGIGS
2001-12-20 19:37
2002.01.08
ПОМОГИТЕ!


1-22250
Дмитрий Д.
2001-12-17 13:28
2002.01.08
Скорее математический вопрос...


1-22192
Dreamer
2001-12-15 19:34
2002.01.08
Как из Time вытаскивать только секунды и переводить