Суббота, 04.05.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Как часто ви на этот сайт заходите?
Всего ответов: 159
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Система » Железо

Учимся освобождать занимаемую программой память на Delphi

Пример, который я сейчас хочу вам показать, применим только для программ работающих в фоновом режиме (для других в этом просто нет смысла). Т.е программ, которые постоянно сидят в памяти и не мозоля глаза пользователю занимаются своими делами. Данный 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; 

Пользуйтесь на здоровье !

Получить ссылку на материал

Категория: Железо | Добавил: Барон (15.12.2011)
Просмотров: 1757 | Теги: память, delphi | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
ActiveX [10]
CORBA и COM [16]
Kol и MCK [23]
WinAPI [28]
Компоненты [27]
Работа с Bluetooth [4]
Железо [8]
Текст [18]
Разное [98]
Королевство Delphi © 2010-2024
Яндекс цитирования