Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

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

Наверх





Память: 0.5 MB
Время: 0.033 c
6-1085294026
FireMan_Alexey
2004-05-23 10:33
2004.07.25
Socket -> Thread


1-1089543562
ltexcimer
2004-07-11 14:59
2004.07.25
максимальный размер переменной и запись в файл


14-1088593848
Piter
2004-06-30 15:10
2004.07.25
Дремучие тормозят


1-1089601040
rolex
2004-07-12 06:57
2004.07.25
Как на ListBox е сделать фоновый рисунок?


1-1088730903
Xerx
2004-07-02 05:15
2004.07.25
Иконки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский