![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Приоритет программы [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;