Форум: "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.036 c