![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| stin10 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 14.6.2005 Репутация: нет Всего: нет |
прога на делфи делает не важно что , к примеру складывает два числа, как сделать так чтобы запускать прогу с выделеным для неё объемой оперативной памяти
|
|||
|
||||
| Marriage |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 4.5.2004 Где: Таганрог Репутация: нет Всего: 2 |
НАсколько я понимаю, больше чем нужно у тебя прога хавать не будет ...
Смысла выделять нет ... Это сообщение отредактировал(а) Marriage - 14.6.2005, 09:13 -------------------- Praemonitus, praemunitus |
|||
|
||||
| stin10 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 14.6.2005 Репутация: нет Всего: нет |
это не будет другая будет, дело не в проге а сути проблемы
|
|||
|
||||
| Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Ограничения на процессы можно накладывать в WinNT системах.
Системы 9х не поддерживают данных функций. Чтобы ограничить процесс или процессы, их помещают в задание. На задание накладываются всевозможные ограничения, помещают в него процессы. Ищи в инете функцию CreateJobObject. От нее уже и иди дальше.
Заполняешь структуры PSECURITY_ATTRIBUTES и PCTSTR.
|
||||
|
|||||
| stin10 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 14.6.2005 Репутация: нет Всего: нет |
а как применительно к ограничению оперативной памяти
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Я бы накатал примерчик, но это слишком заморочисто.
В структурах OBOBJECT_EXTENDED_LIMIT_INFORMATION и JOBOBJECT_BASIC_LIMIT_INFORMATION (это часть предыдущей структуры) нужно выставлять флаги ограничения на минимальный и максимальный объем памяти на процесс или общей памяти на все процессы в задании, выставить значения ограничений в ProcessMemoryLimit или JobMemoryLimit. Потом присвоить эти ограничения хэндлу задания через SetInformationJobObject. Потом создать новый процесс и воткнуть его в это задание. Слишком много информации ковырять нужно. Сейчас времени на это нет. Поищи какой-нить пример по CreateJobObject. По аналогии воткни нужные значения в описанные выше структуры. Просто сделано не для программистов, а для системы, чтобы ей было удобно. Зато можно ограничивать почти все. Кроме памяти можно задать максимальное время работы, что можно, а что нельзя юзать, приоритет, запретить юзать клипборд, изменение системных параметров, юзать чужие окна, и многое другое. Система навороченная, поэтому все не так просто. Нужно повозиться. С чем и желаю успехов. Прямая тебе дорога в MSDN за инфой... Добавлено @ 15:45 Вот тут можно по русски почитать: http://vsokovikov.narod.ru/Msdn_api/Global...tejobobject.htm Но в MSDN информации больше. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |