ntdll.dll是否与Windows XP和Windows Vista标准? 我知道我的Windows XP机器上有它,但不知道这是每台机器的标准configuration。
我很好奇的原因是NTQuerySystemInformation
函数获得Windows XP和/或Windows Vista系统的CPU使用率。
是的,但你想使用的功能不可能不。 根据MSDN, NTQuerySystemInformation可能在未来的Windows版本中被更改或不可用。 您应该使用GetSystemInfo ,它位于coreel32.dll中,可从Windows 2000及更高版本中获得。
在使用它之前,你应该学会检查有关API调用的MSDN 。 而且,如果你这样做的话,你应该学会倾听,因为一旦它被弃用,MS可以自由地将其从未来的NTDLL文件中删除(尽管它们通常不这样做)。 当有一个可行和受支持的选择时,选择故意使用一个弃用的函数总是一个坏主意。
为什么使用未公开的ntdll.dll函数? 您可以使用WMI来获取CPU使用率。 例如使用Win32_Process应该可以提供帮助。
根据下面的网站,“这是Windows所需的文件,删除文件将导致与Windows错误”。 有了这个说法,我认为所有的机器都可以安全的使用它。