Я пытаюсь записать приложение C#/.NET, которое оптимизирует жесткие диски для наших рабочих станций XP
Я действительно борюсь с № 1. Я удаляю следующий ключ: SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles
На перезагрузку Системные шоу Панели управления "Никакой файл подкачки", но c:\pagefile.sys все еще не существует и его используемое Системным процессом, таким образом, я не могу удалить его, и я не могу оптимизировать HD. Я испытал использование PendingFileRenamingOperations, и это бомбит также. Я пытался использовать WMI: Win32_PageFileSetting, но который только позволяет Вам установить размеры (не нуль - значения по умолчанию к 2 МБ).
Конечно, если я делаю ручные шаги, обрисованные в общих чертах выше, это работает.
Я думаю, что мне нужен вызов API, чтобы заставить это произойти.
Посмотрите на методы Delete
или DeleteEx класса Win32_PageFile
:
Класс устарел, но поскольку вы говорите о Windows XP, возможно, он не был устаревшим.
Вы можете изменить реестр, чтобы изменить параметры файла страницы.
Они хранятся в следующем ключе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
PagingFiles
значение содержит значения в формате 'PageFileLocation MinSize MaxSize
' (например, 'C:\pagefile.sys 1024 2048
') - подробнее об этом вы можете прочитать в этой статье.
На самом деле, я сделал ошибку - удалил раздел реестра.
Что мне нужно было сделать, так это установить для многострочного значения что-то вроде
rk.SetValue ("PagingFiles", new string [] {""}, RegistryValueType.MultiString)
Удачи!