Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2011, 12:52   #1
lestor
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 10
По умолчанию команды посылаемые окном при сворачивании

Здрасте
интересуют команды посылаемые окном при сворачивании.
Суть, при запуске программа написанная на асме и вин апи которая представляет и себя пустое окно занимает 2.5 мб оперативной памяти. Если окно свернуть то занимаемая память становится 0.5 мб, после разворачивания этот размер не увеличивается.
Нужна команда которая позволит высвободить память не сворачивая окно.
И вообще те команды которые посылает окно при сворачивании.
lestor вне форума Ответить с цитированием
Старый 27.03.2011, 17:09   #2
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

При сворачивании окно просто становится невидимым, но собственно никуда не пропадает. А насчет занимаемой оперативной памяти либо лжет инструмент ее измерения либо что то еще, но уж никак от того что вы скроете и затем вновь сделаете видимым окно начальное потребление памяти не изменится
Нет, ну правда..

Последний раз редактировалось yuran666666; 27.03.2011 в 17:12.
yuran666666 вне форума Ответить с цитированием
Старый 29.03.2011, 02:48   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)а давно команды посылаются?
посылаются сообщения.
2)как смотрели то?
если строго объем реально используемой ОЗУ, то оно и понятно, благо своп не дремлет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.03.2011, 10:29   #4
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Цитата:
команды которые посылает окно
Окно никаких "команд" не посылает. Вообще.
Окно получает сообщения, а не команды, а посылать оно ничего никуда не посылает.

Цитата:
Нужна команда которая позволит высвободить память не сворачивая окно
Курить ф-цию SetProcessWorkingSetSize().
Но осторожно и с умом.
mss вне форума Ответить с цитированием
Старый 29.03.2011, 13:50   #5
lestor
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 10
По умолчанию

Понял что шлётся ShowWindow->SW_MINIMIZE.
но описание почему при этом освобождаются ресурсы не нашёл.
lestor вне форума Ответить с цитированием
Старый 29.03.2011, 19:43   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а мой второй пункт вы не смотрели?
Цитата:
ShowWindow->SW_MINIMIZE.
шлется сообщение WM_SYSCOMMAND с параметром SW_MINIMIZE если не ошибаюсь.
а ShowWindow посылает это сообщение.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.03.2011, 10:11   #7
lestor
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 10
По умолчанию

Пепел Феникса-2 пункт про своп чё то я не понял.
смотрю через диспетчер задачь.
Забавная вещь обнаружилась, если сворачивать своей кнопкой то объём занимаемой памяти меньше. В моём случае вышло с кнопки на форме 350 кб а с моей кнопки 250кб.
чё шлётся смотрел тут http://msdn.microsoft.com/ru-ru/library/dd145059.aspx

Отключил файл подкачки вообще, процессы ведут себя так же. То есть после сворачивания меньше занимают памяти.

Последний раз редактировалось lestor; 30.03.2011 в 10:19.
lestor вне форума Ответить с цитированием
Старый 30.03.2011, 10:42   #8
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Ох, блин.

Для начала стоит уяснить, что то, что вы смотрите в Диспетчере задач - вовсе не память, выделенная программе. И, тем более, никуда она не пропадает.

По умолчанию, Диспетчер задач показывает размер песочницы процесса. И, таки да, им можно управлять. Но я вам специально не скажу как. Ибо песочницей управляет система по хорошо отлаженным правилам. А ручное управление с таким уровнем знаний приведёт только ко всеобщему вреду - что для вашего приложения, что для системы в целом.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 02.04.2011, 23:21   #9
Ivasm
Пользователь
 
Аватар для Ivasm
 
Регистрация: 25.07.2010
Сообщений: 15
Смех

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а мой второй пункт вы не смотрели?
шлется сообщение WM_SYSCOMMAND с параметром SW_MINIMIZE если не ошибаюсь.
а ShowWindow посылает это сообщение.
Пасиба, друг, как раз думал переназначить эта дело на ввод пароля, а кнопку "закрыть" на выход из режима админа))))

Последний раз редактировалось Ivasm; 02.04.2011 в 23:30.
Ivasm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как при сворачивании формы скрыть ее из панели betirsolt Общие вопросы Delphi 3 17.04.2010 17:57
Ошибка при написании команды для SoftIce ProgDel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 06.03.2010 19:16
События происходящие, при сворачивании, разворачивании Casper-SC Общие вопросы .NET 4 17.12.2009 18:20
Посылаемые сообщения при щелчке на рабочем столе chandrasecar Win Api 4 09.11.2008 10:57
проблема при сворачивании форм Ko$tello Общие вопросы Delphi 8 16.11.2006 18:15