Пример, который я сейчас хочу вам показать, применим только для программ
работающих в фоновом режиме (для других в этом просто нет смысла). Т.е программ,
которые постоянно сидят в памяти и не мозоля глаза пользователю занимаются
своими делами. Данный delphi исходник подойдет при создания троянов, вирусов,
планировщика задач и.т.д. Для таких приложений крайне важным является объем
потребляемой памяти, и разработчик должен свести его к минимуму.
Переходим к коду:
Создаем простенькую процедуру после вызова которой наша Delphi программа
освободит всю ненужную ей память.
uses Windows, SysUtils;
procedure TrimWorkingSet;
var
MainHandle: THandle;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID);
SetProcessWorkingSetSize(MainHandle, DWORD(-1), DWORD(-1));
CloseHandle(MainHandle);
end;
end;
Пользуйтесь на здоровье !
|