Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.06.2010, 23:31
guranvir guranvir вне форума
Начинающий
 
Регистрация: 19.01.2010
Сообщения: 113
Репутация: 11
По умолчанию Перечисление процессов при помощи PsAPI

Выдает весьма странные результаты следующий код:
Код:
rocedure TForm1.Button3Click(Sender: TObject);
var
pID:array[0..1024] of DWORD;//ID поцессов от функции EnumProcess
hp:THandle;//open handle to the specified process(от функции OpenProcess)
cbNeeds:dword;//Сколько требовалось для списка IDшек и именни процесса
i:integer;
procname:array[0..255] of WideChar; //буфер для имени
str:string; //буфер для преобразования
begin
 if  EnumProcesses(@pID,sizeof(pID),cbNeeds)=true then //перечисляем процессы
 begin
if cbNeeds<=sizeof(pID) then//проверяем хватило ли места?
begin

for i := 0 to 1024 do
begin
hP := OpenProcess(PROCESS_QUERY_INFORMATION or
                                    PROCESS_VM_READ,
                                     false, pID[i]);//открываем процесс для получения инфы
GetModuleFileNameEx(hp,0,procname,cbneeds);//получаем имя
str:=WideCharToString(procname);//преобразуем

Memo1.Lines.Add(str);
if pos(str,'winlogon.exe')<>0 then//проверяем это winlogon? (Ищем подстроку)
begin
Memo1.Lines.Add(str);
end;
end;
end
 end
else
begin
showMessage(intTosTr(cbNeeds)); //выодим необходимое количество памяти в случае нехватки
end;
end;
В чем проблемы:
1) В именах отобржает кразябру
2) Какие то процессы отображает верно, но одни и те же многократно
3) Не видит winlogon
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:25.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025