Windows XP / Vista / 7
任何人都知道如何从C ++程序中获取这三个数字?
谢谢!
你可以使用WMI做一些这个,你想要的类是Win32_PageFileSetting 。 在.Net中,通过System.Management(更容易)访问。 如果你想运行时使用,你可以使用Win32_PageFileUsage 。
请注意您在该文档中需要提升的权限。
在这一点上,我看不到任何方式来访问最小值和建议值。
该信息存储在PagingFiles
值中的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Session Manager\Memory Managment
中。 这是一个REG_MULTI_SZ
,每个字符串的形式是:
PAGINGFILEPATH StartSize MaxSize
所以,例如,我将C盘设置为16384 MB,关键数据如下所示:
L"C:\pagefile.sys 16384 16384\0"
注2:可以省略号码,在这种情况下,系统管理指定驱动器上页面文件的大小。
注意:此处指定的值不是系统当前使用的值,而是系统重新引导时使用的值。 这是因为一旦系统运行,分页文件一般不能被改变,除了扩展分页文件。 所以如果用户改变了设置但没有重新启动,该键将包含重新启动后的设置,而不是当前有效的设置。
如果您希望当前有效的设置,您可以检查每个驱动器上的pagefile.sys
的大小。 这不会给你最大的大小,但它至少会给你一个想法。