Р а з д е л ы
Новости
Гостевая
Форум
Чат
Учебники
Программы
Статьи по Delphi
Статьи по Html
Компьютерные статьи
Java скрипты
Приколы
Отправить SMS
Мои разработки
 
К о н т а к т ы

ICQ: 445511525
e-mail: ZORBI@bk.ru

c o p y r i g h t
p r o g r a m m i n g
d e s i g n e d
by ZORBI

Т р о и ц к   г

 
С с ы л к и


 
С ч е т ч и к и
Rambler's Top100
 
..:: Статьи ::..
Выставление приоритета любому процессу

   В качестве параметров необходимо передать _имя процесса_ (то, которое в диспетчере задач) и приоритет.
   Не забудьте также подключить модуль TLHelp32. 
   procedure SetPriority(Name: String; Priority: Integer);
   var
     Handler: THandle;
     Data:    TProcessEntry32;
     Finded:  boolean;
     Res:     boolean;

     ProcessID : DWORD;
     ProcessHandle : THandle;
     ThreadHandle : THandle;

   function ReturnName: String;
   var
     I    : byte;
     Names: string;
   begin
     names:='';
     i:=0;
     while data.szExeFile[i] <> '' do
     begin
       names:=names+data.szExeFile[i];
       inc(i);
     end;
     ReturnName:=names;
   end;

   procedure TryIt;
   begin
     if AnsiUpperCase(ReturnName)=AnsiUpperCase(Name) then
     begin
       ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, true, data.th32ProcessID);
       Finded:=true;
       if ProcessHandle=0 then
       begin
         RaiseLastWin32Error;
         exit;
       end;
       case Priority of
         0: Res:=true;
         1: Res:=SetPriorityClass(ProcessHandle, IDLE_PRIORITY_CLASS);
         2: Res:=SetPriorityClass(ProcessHandle, NORMAL_PRIORITY_CLASS);
         3: Res:=SetPriorityClass(ProcessHandle, HIGH_PRIORITY_CLASS);
         4: Res:=SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
       end;
       if not Res then
         RaiseLastWin32Error;
     end;
   end;

   begin
     Finded:=false;
     Handler:= CreateToolHelp32SnapShot(TH32CS_SNAPALL,0);
     if process32first(handler,data) then
     begin
       TryIt;
       while process32next(handler,data) do
         TryIt
     end;
     if not Finded then
       ShowMessage('Cannot find');
   end;
	             		

Источник: www.delphikingdom.ru  

Hosted by uCoz