Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Мастера, помогите.. 


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.




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
6-22310           SERGX                 2001-10-13 23:48  2002.01.08  
ХЕЛП!! Как создать прогу для отсылки файла или текста по почте


1-22154           Марина                2001-12-20 15:42  2002.01.08  
Удаление содержимого каталога


1-22132           Leviathan             2001-12-19 19:38  2002.01.08  
Спрятать форму


14-22385          модератор             2001-11-03 11:57  2002.01.08  
>To Merlin - (SYSTRAY)


14-22351          nikols                2001-10-31 18:55  2002.01.08  
Опрос: Кто занимается (знает, интересуется CORBA)