![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение приоритета процесса [D6, Win2k, WinXP]
saNat © (2003-11-29 00:26:00)
Подскажите, пожалуйста, как сменить приоритет процесса... Функция SetPriorityClass()всегда выдает False.
С благодарностью, ЕВА.
jack128 (2003-12-11 14:33:00) [1]
> Возвращает значение 6...
> Invalid handle.
Тогда видимо
> ProcessID := GetCurrentProcessID;
> ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION,
> false,ProcessID);
if ProcessHandle = 0 then RaiseLastWin32Error;
> SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
CloseHandle(ProcessHandle);
А думать дальше ;-)
clickmaker (2003-12-11 11:57:00) [2]
> saNat © (11.12.03 11:45) [3]
> to jack128: Возвращает значение 6... а как бы узнать что
> енто значит...
Invalid handle. А вообще, есть функция полезная - SysErrorMessage(GetLastError) - вернет описание ошибки
saNat (2003-12-11 11:45:00) [3]
to jack128: Возвращает значение 6... а как бы узнать что енто значит...
to Dimaxx: Ну я примерно так и делаю... только зачем поток трогать... тем более что х может быть несколько...
Dimaxx (2003-11-29 02:21:00) [4]
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;
jack128 (2003-11-29 00:48:00) [5]
что GetLastError говорит?