Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Приоритет программы [D7, XP]


Gizza ©   (2006-07-02 16:57:00) 

Здрасте, всем доброго....

Как с помощью TrackBarустанавливать приоритет программы?

PS
ээ.. как например в Winamp в меню Установок


Заранее спасибо.


PSPF2003   (2006-07-02 19:19:00) [1]

procedure TForm1.N;
var
 ProcessID : DWORD;
 ProcessHandle : THandle;
 ThreadHandle : THandle;
begin
 ProcessID := GetCurrentProcessID;
 ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, false, ProcessID);
 SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
 ThreadHandle := GetCurrentThread;
 SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);
 CloseHandle(ProcessHandle);
end;

procedure TForm1.NN;
var
 ProcessID : DWORD;
 ProcessHandle : THandle;
 ThreadHandle : THandle;
begin
 ProcessID := GetCurrentProcessID;
 ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, false, ProcessID);
 SetPriorityClass(ProcessHandle, HIGH_PRIORITY_CLASS);
 ThreadHandle := GetCurrentThread;
 SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);
 CloseHandle(ProcessHandle);
end;

procedure TForm1.NNN;
var
 ProcessID : DWORD;
 ProcessHandle : THandle;
 ThreadHandle : THandle;
begin
 ProcessID := GetCurrentProcessID;
 ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, false, ProcessID);
 SetPriorityClass(ProcessHandle, NORMAL_PRIORITY_CLASS);
 ThreadHandle := GetCurrentThread;
 SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);
 CloseHandle(ProcessHandle);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
case TrackBar1.Position of
  0 : N;
  1 : NN;
  2 : NNN;
end;
end;


Gizza   (2006-07-02 19:06:00) [2]


> PSPF2003 ©   (02.07.06 18:55) [14]
> procedureTForm1.TrackBar1Change(Sender: TObject);
> begin
> caseTrackBar1.Position of   
>0 : ;    
>1 : ;  
> end;
> end;


Угу, это яжу понятно, я как раз и хотел у знать чего писать между :и ;...


PSPF2003   (2006-07-02 19:00:00) [3]


> убить себя об стену и не соваться в программирование.

???


Leonid Troyanovsky   (2006-07-02 19:00:00) [4]


> PSPF2003 ©   (02.07.06 18:35) [10]

>> Который, кстати, в примере пропущен.

> Извеняюсь пример не мой :(


Т.е., есть сомнения, что пропущен?

--
Regards, LVT.


Ketmar   (2006-07-02 18:57:00) [5]

>PSPF2003 ©   (02.07.06 18:19) [8]
убить себя об стену и не соваться в программирование.


PSPF2003   (2006-07-02 18:55:00) [6]

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 case TrackBar1.Position of
   0 : ;
   1 : ;
 end;
end;


Gizza   (2006-07-02 18:53:00) [7]

Извиняюсь, может кто-нибудь подскажет где про это можно почитать, на русском...


PSPF2003   (2006-07-02 18:53:00) [8]

Либо через If
Либо через Case of


Gizza   (2006-07-02 18:51:00) [9]


> Примерно так же, как с помощью руля приехать на дачу. Его
> надо сначала приделать к автомобилю. Потому что руль сам
> ездить на дачу не умеет.


Хорошее сравнение.... :)
Ну и как же?


PSPF2003   (2006-07-02 18:35:00) [10]


> Который, кстати, в примере пропущен.

Извеняюсь пример не мой :(


Leonid Troyanovsky   (2006-07-02 18:29:00) [11]


> PSPF2003 ©   (02.07.06 17:05) [1]

>               ProcessID := GetCurrentProcessID;
>               ProcessHandle := OpenProcess


GetCurrentProcess.
Тогда и CloseHandle не потребуется.
Который, кстати, в примере пропущен.

--
Regards, LVT.


PSPF2003   (2006-07-02 18:19:00) [12]


> читай help из Platform SDK. "до осознания и просветления"

Хм. А если сложности с английским?


Юрий Зотов   (2006-07-02 18:02:00) [13]

> Как с помощью TrackBar устанавливать приоритет программы?

Примерно так же, как с помощью руля приехать на дачу. Его надо сначала приделать к автомобилю. Потому что руль сам ездить на дачу не умеет.


Ketmar   (2006-07-02 17:57:00) [14]

>Gizza ©   (02.07.06 17:18) [5]
читай help из Platform SDK. "до осознания и просветления". (ц) там всё разжёвано.


Gizza   (2006-07-02 17:18:00) [15]

Не фига не понял, но все равно спасибо, теперь будет от чего отталкиваться.
PSPF2003респект! Пошел проволку искать :)


PSPF2003   (2006-07-02 17:14:00) [16]

Ой извиняюсь данный сайт уже не существует :)


PSPF2003   (2006-07-02 17:12:00) [17]

Да, забыл написать материал с http://www.delphi.vitpc.com/Ответы на вопросы. WinApi


PSPF2003   (2006-07-02 17:07:00) [18]

TrackBar сам прикрутишь.  Проволочкой:)))


PSPF2003   (2006-07-02 17:05:00) [19]

Вопрос:
Как увеличить процессорное время, выделяемого программе?
Ответ:
Следующий пример изменяет приоритет приложения. Изменение приоритета следует использовать с осторожностью - т.к. присвоение слишком высокого приоритета может привети к медленной работе остальных программ и системы в целом. См. Win32 help for SetThreadPriority() function.
Пример:

            procedure TForm1.Button1Click(Sender: TObject);
            var
              ProcessID : DWORD;
              ProcessHandle : THandle;
              ThreadHandle : THandle;
            begin
              ProcessID := GetCurrentProcessID;
              ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION,
                                           false,
                                           ProcessID);
              SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
              ThreadHandle := GetCurrentThread;
              SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);
            end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо