win32 api function to get processor's current speed
I am unaware of a win32 api function/functions u开发者_运维知识库sed to query the local PC processor's current speed. I wish not to use WMI because it seems unlikely to be feasible on all PCs.
You can call the Windows API function CallNtPowerInformation with the argument ProcessorInformation. It returns a PROCESSOR_POWER_INFORMATION structure which tells you the current and max CPU speed for each of your system's CPUs.
This is only supported on Win32 desktop, not Metro or Windows Phone, though.
You can (usually) get the processor speed using the QueryPerformanceFrequency
function. I'm saying "usually" since this function returns the frequency of the performance timer component of the system, but virtually all current CPU's available operate at the same frequency as the performance timer component.
This function is available since Windows 2000, so chances are good that it's supported on most of todays PCs.
You read it from the registry using the usual registry functions
精彩评论