- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
{ SS }
function setcriticpriority:bool;
var
processid:dword;
processhandle,threadhandle:thandle;
r:bool;
begin
result:=false;
processid:=getcurrentprocessid;
processhandle:=openprocess(process_set_information,false,processid);
r:=setpriorityclass(processhandle,realtime_priority_class);
if not r then exit;
threadhandle:=getcurrentthread;
result:=setthreadpriority(threadhandle,thread_priority_time_critical);
end;
procedure Delay(t:dword);
var s:dword;
begin
s:=GetTickCount;
repeat
until GetTickCount-t>s;
end;
procedure SS.Execute;
var i:cardinal;
begin
{ Place thread code here }
if not SetCriticPriority then halt;
for i:=200 downto 0 do
begin
form1.ProgressBar1.position:=200-i;
Sleep(i);
delay(200-i);
end;
form1.Panel1.Visible:=true;
form1.label3.Visible:=true;
repeat
until false;
end;
end.
После запуска этой проги - система начинает плавно останавливаться. Даже прогресбар бежит. Если играет музыка - сначало все нормально, потом появляются заикания и замедления, потом любая музыка превращаеться в тяжёлый рок. Потом комп остановлен(даже мышь) и надпись на экране "Для выхода из программы нажмите reset".
Представляете в этот момент свои чувства?
Баловство с приоритетами - не игрушка.
guest 14.03.2010 00:01 # −1
dzver 14.03.2010 01:08 # 0
uncle Lem 14.03.2010 01:58 # 0
Dreyk 14.03.2010 02:05 # 0