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

Вниз

Процессы,их время выполнения в квантах   Найти похожие ветки 

 
Pro ©   (2004-06-10 07:38) [0]

Программисты и все кто знает Делфи помогите !
Нужна прога или исходник,хоть что-то:прога должна уметь смотреть запущенные процессы и время их выполнения в квантах!


 
r9000   (2004-06-10 07:48) [1]

Насчет времени выполнения в квантах не знаю, а просмотреть какие
процессы запущены можно с помощью функций WINAPI.
http://www.delphimaster.ru/articles/winapi/index.html
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621534&n=15


 
Pro ©   (2004-06-10 07:51) [2]

Большое спасибо r9000,но разве в делфи нет такой функции ?


 
r9000   (2004-06-10 07:57) [3]

Ты в делфи эти функции WINAPI как раз и используешь.


 
Gero ©   (2004-06-10 07:58) [4]


> но разве в делфи нет такой функции ?

Конечно есть, называется LookProcessAndGetQuantum. Поствляется с Delphi 0.1.


 
Pro ©   (2004-06-10 08:05) [5]

Я не очень хорошо разбираюсь,но мне как ее использовать в Delphi 6 ? Всем за все огромное спасибо !!!!!


 
хз ©   (2004-06-10 08:05) [6]

2 Gero ©   (10.06.04 07:58) [4]

Забыл:

uses
 PriamyeRuki;


 
Gero ©   (2004-06-10 08:07) [7]


> хз ©   (10.06.04 08:05)

Ага, еще для компиляции понадобится uses Golova.


 
Gero ©   (2004-06-10 08:08) [8]


> мне как ее использовать в Delphi 6

Написать ее самому.


 
Pro ©   (2004-06-10 08:23) [9]

Так то у меня сейчас сессия и препод из-за этой проги не ставит мне зачет, я уже 1 экзамен пропустил........


 
Романов Р.В. ©   (2004-06-10 08:30) [10]

У моего друга брат тоже зачет не сдал 2 недели назад. Его как бы выгнали и сказали что осенью можно восстановиться с возможностью сдать зачет и остатки экзаменов (больщая часть экзаменов у него сдана).
Но он не пойдет осенью учится... Щас он служет в морфлоте.


 
Pro ©   (2004-06-10 08:36) [11]

Да хреново!!
Сочувствия.....
Но все же где найти эту функцию LookProcessAndGetQuantum
или может кто скажет через что ее найти и верно вставить в код программы :прога умеет определять приоритет процессов и показывает сами процессы,а также умеет их завершать.....


 
Pro ©   (2004-06-10 08:37) [12]

Всем в моей группе дали простенький таймер,а мне вот....
Я не хочу в армию !!!


 
Digitman ©   (2004-06-10 08:39) [13]


> где найти эту функцию LookProcessAndGetQuantum


http://dummy.msdn.miсrosoft.com


 
Pro ©   (2004-06-10 08:44) [14]

Спасибо щас посмотрю..


 
Pro ©   (2004-06-10 08:46) [15]

Чего то эта ссылка у меня не открывается, не можешь сюда все это кинуть ??


 
Pro ©   (2004-06-10 08:51) [16]

Мой исходник такой:unit SysInfoU;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 ComCtrls, StdCtrls, Buttons, ImgList, Commctrl, ShellAPI, Menus;

type
 TForm1 = class(TForm)
   PageControl1: TPageControl;
   TabSheet1: TTabSheet;
   ListView1: TListView;
   Button1: TButton;
   Button2: TButton;
   Button3: TButton;
   procedure PageControl1Change(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure ListView1Click(Sender: TObject);
   procedure ListView1KeyUp(Sender: TObject; var Key: Word;
     Shift: TShiftState);
   procedure Button2Click(Sender: TObject);
   procedure Button3Click(Sender: TObject);
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

uses
 TlHelp32, AdditU;

procedure ListProcesses;
var
 hSnapShot: THandle;
 lppe: TProcessEntry32;
 hIcon: THandle;
 Count: Integer;

 procedure _FillList;
 begin
   with Form1.ListView1.Items.Add, lppe do
   begin
     hIcon:= ExtractIcon(hInstance, lppe.szExeFile, 0);
     if hIcon = 0 then
       hIcon:= LoadImage(0, IDI_WINLOGO, IMAGE_ICON, LR_DEFAULTSIZE,
         LR_DEFAULTSIZE, LR_DEFAULTSIZE or LR_DEFAULTCOLOR or LR_SHARED);
           Caption:= ExtractFileName(szExeFile);
     SubItems.Add(Format("$%x", [Th32ProcessID]));
     SubItems.Add(Format("$%x", [Th32ParentProcessID]));
     case pcPriClassBase of
       4: SubItems.Add(Format("%d (Idle)", [pcPriClassBase]));
       8: SubItems.Add(Format("%d (Norm)", [pcPriClassBase]));
      13: SubItems.Add(Format("%d (High)", [pcPriClassBase]));
      24: SubItems.Add(Format("%d (Real)", [pcPriClassBase]));
     else SubItems.Add(Format("%d", [pcPriClassBase]));
     end;
   end;
   Inc(Count);
 end;

begin
 hSnapShot:= CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 if hSnapShot <> INVALID_HANDLE_VALUE then
 begin
   Form1.ListView1.Items.Clear;
   lppe.dwSize:= SizeOf(lppe);
   Count:= 0;
   if Process32First(hSnapShot, lppe) then _FillList;
   while Process32Next(hSnapShot, lppe) do _FillList;

   CloseHandle(hSnapShot);
 end
 else MessageBox(Form1.Handle, "Internal error", "Ошибка", MB_OK or MB_ICONERROR);
end;

procedure TForm1.PageControl1Change(Sender: TObject);
begin
 //ListProcesses;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 ListProcesses;
end;

procedure TForm1.ListView1Click(Sender: TObject);
begin
 with (Sender as TListView) do
   if Selected <> nil then

end;

procedure TForm1.ListView1KeyUp(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 if flag = true then flag:= false
 else
 begin
   if Key <> 0 then ListView1Click(ListView1);
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 hProcess: THandle;
 S: string;
 ID: Cardinal;
begin
 if ListView1.Selected <> nil then
 begin
   S:= ListView1.Selected.Caption;
   ID:= StrToInt(ListView1.Selected.SubItems[0]);
   hProcess:= OpenProcess(PROCESS_ALL_ACCESS, false, ID);
   if hProcess <> INVALID_HANDLE_VALUE then
   begin
     if not TerminateProcess(hProcess, 0) then
       MessageBox(0, PChar("Невозможно удалить процесс: " + S),
         "Ошибка", MB_ICONWARNING or MB_OK);
     CloseHandle(hProcess);
     Sleep(500);
     ListProcesses;
   end;
 end
 else MessageBox(Handle, "Выбирите процесс, который необходимо удалить!!!", "Information",
   MB_OK or MB_ICONINFORMATION);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ListProcesses;
end;

end.


 
Романов Р.В. ©   (2004-06-10 08:51) [17]


> Всем в моей группе дали простенький таймер,а мне вот....


Значит тебя пытаются сплавить в армию.


 
хз ©   (2004-06-10 09:02) [18]

> Мой исходник такой:unit SysInfoU;

Это не твой исходник. Этому исходнику уже года 3.


with (Sender as TListView) do
  if Selected <> nil then


:-))

--> LMD


 
Pro ©   (2004-06-10 09:06) [19]

Да блин я знаю что это не мой но я его под свою прогу переделал!


 
Digitman ©   (2004-06-10 09:14) [20]

GetProcessTimes()

редкостным лентяям и прогульщикам лекций посвящается..



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

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

Наверх




Память: 0.52 MB
Время: 0.055 c
8-1084188673
Никита
2004-05-10 15:31
2004.07.25
Воспризведение DWD


1-1089728961
Studentik
2004-07-13 18:29
2004.07.25
Стиль XP в XP


14-1088762912
ArMellon
2004-07-02 14:08
2004.07.25
Нужен русификатор 3ds max 5.1 кто знает киньте


1-1089127014
Buster
2004-07-06 19:16
2004.07.25
Как написать у CheckBox текст в две строки?


4-1087040243
Alexis
2004-06-12 15:37
2004.07.25
Ошибка при работе с RegQueryValueEx