如何获取电脑的CPU和内存的使(占)用率?(50)

P

peizmbj

Unregistered / Unconfirmed
GUEST, unregistred user!
如何取得一台机器的CPU和内存的使(占)用率?
 
TMemoryStatus是DELPHI为Windows的MEMORYSTATUS结构定义的对应类型。 其描述当前可用内存状态,由GlobalMemoryStatus函数返回
 
TO 人生如雾 内存可以了。谢谢CUP内?
 
//取CPU序号Function kbGetCpuID():string;type TCPUID = array[1..4] of Longint;var CPUIDinfo : TCPUID; function IsCPUID_Available : Boolean; asm PUSHFD {direct access to flags no possible, only via stack} POP EAX {flags to EAX} MOV EDX,EAX {save current flags} XOR EAX,$200000; {not ID bit} PUSH EAX {onto stack} POPFD {from stack to flags, with not ID bit} PUSHFD {back to stack} POP EAX {get back to EAX} XOR EAX,EDX {check if ID bit affected} JZ @exit {no, CPUID not availavle} MOV AL,True {Result=True} @exit: end; function GetCPUIDSN : TCPUID; assembler; asm PUSH EBX {Save affected register} PUSH EDI MOV EDI,EAX {@Resukt} MOV EAX,1 DW $A20F {CPUID Command} STOSD {CPUID[1]} MOV EAX,EBX STOSD {CPUID[2]} MOV EAX,ECX STOSD {CPUID[3]} MOV EAX,EDX STOSD {CPUID[4]} POP EDI {Restore registers} POP EBX end;begin if IsCPUID_Available then begin CPUIDinfo:=GetCPUIDSN; end else begin //早期cpu无ID CPUIDinfo[1] := 0136; CPUIDinfo[4] := 66263155; Result := ''; end; result:=IntToHex((CPUIDinfo[1]+CPUIDinfo[2]+CPUIDinfo[3]+CPUIDinfo[4]),8);end;
 
顶部