c# - 在 Windows XP 上,在单个 c : drive 上以编程方式将页面文件设置为 "No Paging File"

标签 c# windows-xp pagefile

我正在尝试编写一个 C#/.NET 应用程序来优化我们的 XP 工作站的硬盘驱动器

  1. 将页面文件设置为“无页面文件”
  2. 重启
  3. 运行碎片整理实用程序以优化数据和应用
  4. 创建一个连续的页面文件
  5. 重新启动,从 Sysinternals 运行 pagedefrag

我真的很纠结#1。我删除了以下键: SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles

重新启动后,系统控制面板显示“无页面文件”,但 c:\pagefile.sys 仍然存在并且正在被 SYSTEM 进程使用,所以我无法删除它,也无法优化 HD。我尝试使用 PendingFileRenamingOperations 并且它也爆炸了。我尝试使用 WMI:Win32_PageFileSetting,但它只允许您设置大小(不是零——默认为 2MB)。

当然,如果我执行上面概述的手动步骤,它就会起作用。

我想我需要一个 API 调用来实现这一点。

最佳答案

查看 DeleteDeleteEx Win32_PageFile 类的方法:

该类已被弃用,但由于您谈论的是 Windows XP,因此可能当时并没有被弃用。

关于c# - 在 Windows XP 上,在单个 c : drive 上以编程方式将页面文件设置为 "No Paging File",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2811772/

相关文章:

c# - Inno Setup 循环遍历文件并注册每个 .NET dll

database - 如何导出 DB2 AS/400(iseries) 的所有模式对象?

batch-file - 用于删除目录中除指定列表之外的所有文件夹的批处理文件

c# - gRPC 支持 .NET 3.5 框架

windows - PowerShell:查询 2008 服务器的页面文件信息

arrays - 如何分配 RAM 容纳不下的单个数组

linux - Linux 将其页面文件存储在单独的分区中有什么优点?

c# - CUDAfy.NET 给出 Win32Exception : The system cannot find the file specified

c# - MVVMCross MvxBind,将多个值绑定(bind)到一个属性

c# - 如何在C#中使用定界符?