danielrgoes Postado Outubro 8, 2009 Denunciar Share Postado Outubro 8, 2009 Bom dia pessoalGostaria de saber como faço pra pegar o modelo do processadora velocidade eu consegui inclusive segue o codigo se alguém precisarfunction GetCPUSpeed: Double;const DelayTime = 500;var TimerHi, TimerLo: DWORD; PriorityClass, Priority: Integer;begin try PriorityClass := GetPriorityClass(GetCurrentProcess); Priority := GetThreadPriority(GetCurrentThread); SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL); Sleep(10); asm dw 310Fh // rdtsc mov TimerLo, eax mov TimerHi, edx end; Sleep(DelayTime); asm dw 310Fh // rdtsc sub eax, TimerLo sbb edx, TimerHi mov TimerLo, eax mov TimerHi, edx end; SetThreadPriority(GetCurrentThread, Priority); SetPriorityClass(GetCurrentProcess, PriorityClass); Result := TimerLo / (1000.0 * DelayTime); except end;end;muito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Outubro 9, 2009 Denunciar Share Postado Outubro 9, 2009 (editado) Opa tem sim... adiciona um Label e um Button no seu form, e no onclick do button bota o seguinte código:procedure TForm1.Button1Click(Sender: TObject); var regi : TRegistry; begin regi:=tRegistry.Create; With Regi do Begin rootKey:=HKEY_LOCAL_MACHINE; OpenKey('Hardware\Description\System\CentralProcessor\zero',false); V:=ReadString('ProcessornameString'); CloseKey; end; Label1.Caption:= 'Processador:'+ V; end;Obs: o algarismo 0 não aparece aqui, então substitua onde está escrito zero, pelo algarismoAbraços Editado Outubro 14, 2009 por Douglas_Soares Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 12, 2009 Denunciar Share Postado Outubro 12, 2009 Douglas... reveja o seu código uses registry; procedure TForm1.Button1Click(Sender: TObject); var regi : TRegistry; s : string; begin regi:=tRegistry.Create; With Regi do Begin rootKey:=HKEY_LOCAL_MACHINE; OpenKey('HARDWARE\DESCRIPTION\System\CentralProcessor\zero',false); s:=ReadString('ProcessorNameString'); CloseKey; end; Label1.Caption:= 'Processador: '+ s; end;OBS: Onde esta escrito zero coloque o algarismo zeroabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Outubro 14, 2009 Denunciar Share Postado Outubro 14, 2009 Douglas... reveja o seu códigoEstranho, eu tenho 2 nucleos, ou seja la no regedit aparece o numero 0 e 1, porem no código eu testei com 0 e funciona mesmo, só não sei porque aqui no site não tem numero, ehehehe, arrumado!Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
danielrgoes
Bom dia pessoal
Gostaria de saber como faço pra pegar o modelo do processador
a velocidade eu consegui inclusive segue o codigo se alguém precisar
function GetCPUSpeed: Double;
const
DelayTime = 500;
var
TimerHi, TimerLo: DWORD;
PriorityClass, Priority: Integer;
begin
try
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
Sleep(10);
asm
dw 310Fh // rdtsc
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh // rdtsc
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;
SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);
Result := TimerLo / (1000.0 * DelayTime);
except
end;
end;
muito obrigado
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.