Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Вниз
Приоритет программы Найти похожие ветки
← →
Gizza © (2006-07-02 16:57) [0]Здрасте, всем доброго....
Как с помощью TrackBar устанавливать приоритет программы?
PS
ээ.. как например в Winamp в меню Установок
Заранее спасибо.
← →
PSPF2003 © (2006-07-02 17:05) [1]Вопрос:
Как увеличить процессорное время, выделяемого программе?
Ответ:
Следующий пример изменяет приоритет приложения. Изменение приоритета следует использовать с осторожностью - т.к. присвоение слишком высокого приоритета может привети к медленной работе остальных программ и системы в целом. См. 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;
← →
PSPF2003 © (2006-07-02 17:07) [2]TrackBar сам прикрутишь. Проволочкой:)))
← →
PSPF2003 © (2006-07-02 17:12) [3]Да, забыл написать материал с http://www.delphi.vitpc.com/ Ответы на вопросы. WinApi
← →
PSPF2003 © (2006-07-02 17:14) [4]Ой извиняюсь данный сайт уже не существует :)
← →
Gizza © (2006-07-02 17:18) [5]Не фига не понял, но все равно спасибо, теперь будет от чего отталкиваться.
PSPF2003 респект! Пошел проволку искать :)
← →
Ketmar © (2006-07-02 17:57) [6]>Gizza © (02.07.06 17:18) [5]
читай help из Platform SDK. "до осознания и просветления". (ц) там всё разжёвано.
← →
Юрий Зотов © (2006-07-02 18:02) [7]> Как с помощью TrackBar устанавливать приоритет программы?
Примерно так же, как с помощью руля приехать на дачу. Его надо сначала приделать к автомобилю. Потому что руль сам ездить на дачу не умеет.
← →
PSPF2003 © (2006-07-02 18:19) [8]
> читай help из Platform SDK. "до осознания и просветления"
Хм. А если сложности с английским?
← →
Leonid Troyanovsky © (2006-07-02 18:29) [9]
> PSPF2003 © (02.07.06 17:05) [1]
> ProcessID := GetCurrentProcessID;
> ProcessHandle := OpenProcess
GetCurrentProcess.
Тогда и CloseHandle не потребуется.
Который, кстати, в примере пропущен.
--
Regards, LVT.
← →
PSPF2003 © (2006-07-02 18:35) [10]
> Который, кстати, в примере пропущен.
Извеняюсь пример не мой :(
← →
Gizza © (2006-07-02 18:51) [11]
> Примерно так же, как с помощью руля приехать на дачу. Его
> надо сначала приделать к автомобилю. Потому что руль сам
> ездить на дачу не умеет.
Хорошее сравнение.... :)
Ну и как же?
← →
PSPF2003 © (2006-07-02 18:53) [12]Либо через If
Либо через Case of
← →
Gizza © (2006-07-02 18:53) [13]Извиняюсь, может кто-нибудь подскажет где про это можно почитать, на русском...
← →
PSPF2003 © (2006-07-02 18:55) [14]procedure TForm1.TrackBar1Change(Sender: TObject);
begin
case TrackBar1.Position of
0 : ;
1 : ;
end;
end;
← →
Ketmar © (2006-07-02 18:57) [15]>PSPF2003 © (02.07.06 18:19) [8]
убить себя об стену и не соваться в программирование.
← →
Leonid Troyanovsky © (2006-07-02 19:00) [16]
> PSPF2003 © (02.07.06 18:35) [10]
>> Который, кстати, в примере пропущен.
> Извеняюсь пример не мой :(
Т.е., есть сомнения, что пропущен?
--
Regards, LVT.
← →
PSPF2003 © (2006-07-02 19:00) [17]
> убить себя об стену и не соваться в программирование.
???
← →
Gizza © (2006-07-02 19:06) [18]
> PSPF2003 © (02.07.06 18:55) [14]
> procedure TForm1.TrackBar1Change(Sender: TObject);
>begin
>case TrackBar1.Position of
>0 : ;
>1 : ;
>end;
>end;
Угу, это яжу понятно, я как раз и хотел у знать чего писать между:
и;
...
← →
PSPF2003 © (2006-07-02 19:19) [19]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;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.034 c