本文整理自网络,侵删。
end
;
procedure TCPUTester.Execute;
begin while ((Not Terminated) and (FButton.Down)) do;end; constructor TCPUTester.Create(Button: TSpeedButton ; CreateSuspended: boolean; CPUMark: LongWord) begin FButton := Button; Inherited Create(CreateSuspended); FreeOnTerminate:=true; SetThreadAffinityMask (Handle,1 shr (CPUMark-1));end;destructor TCPUTester.Destroy;begin FButton:=NIL; Inherited;end; //---------------------------------------------------------------------------procedure TForm1.FormCreate(Sender: TObject);var ProcessAffinityMask: LongWord; SystemAffinityMask: LongWord; I: Integer;begin if Not(GetProcessAffinityMask( GetCurrentProcess(), ProcessAffinityMask, SystemAffinityMask)) then begin Application.Terminate(); exit; end; for i:=0 to sizeof(SystemAffinityMask)*8 - 1 do begin if(SystemAffinityMask and (1 shr i)) <> 0 then begin TSpeedButton(FindComponent('SpeedButton'+IntToStr(i+1))).Enabled:=true; end; end; end;//---------------------------------------------------------------------------procedure TForm1.SpeedButton1Click(Sender: TObject );var CPUTester:TCPUTester ; Button: TSpeedButton ;begin if Not (Sender Is TSpeedButton) then begin Exit; end; Button:=Sender as TSpeedButton; if(NIL=Button)then Exit; if Not(Button.Down) then begin Exit; end; CPUTester:= TCPUTester.Create(Button,true,StrToInt(Button.Caption)); if(NIL=CPUTester) then begin exit; end; CPUTester.Resume();end;//---------------------------------------------------------------------------procedure TForm1.FormDestroy(Sender: TObject );var I: Integer; comp: TComponent;begin for i:=0 to ComponentCount-1 do begin comp:=Components[i]; if(comp is TSpeedButton) then TSpeedButton(comp).Down:=false; end; Sleep(1000);end;
相关阅读 >>
Delphi windows 编程[21] - wm_menuselect 消息与 getmenustring 函数
更多相关阅读请进入《Delphi》频道 >>