Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать обновление экрана как при нажатии кнопки Windows [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Wadim ©   (2006-11-14 20:14:00) 

Добрый всем.
Как сделать програмной обновление экрана, как у кнопки Windows?
Запоминать перед стартом другой прогаммы текущее состояние параметров рабочего стола (всмысле разрешения и т.д.)?
А потом его восстанавливать?
Или есть сообщение SendMessage к рабочему столу.
Заранее спасибо.


Elen   (2006-11-17 08:08:00) [1]


> Wadim

Можно попробовать также Mouse_eventили SendMessage(Рабочий стол, WM_Lbuttondown,10,10);SendMessage(Рабочий стол, WM_Lbuttonup,10,10);


Wadim   (2006-11-16 18:52:00) [2]

SetForegroundWindow - работает в этом случае со второго раза, т.е. первый раз прячешь-показываешь все также, но второй уже нормально все работает


Elen   (2006-11-16 08:46:00) [3]


> все срабатывает, но только тогда пока не кликнешь мышкой
> на экране

Ну раз ты уже всего добился может тебе еще попробовать SetForegroundWindow или SetActivateWindow для рабочего стола?


Wadim   (2006-11-16 02:59:00) [4]

Да и при чем тут какой адаптер или какая игра, мы же не железку на станке точим!, а програмно решаем возможности, можно суспендить все процессы данной проги и делай потом что захочешь, или я не прав? Пока все работало на ура главное остановить а потом легко все возвращается в предыдущее состояние


Wadim   (2006-11-16 02:45:00) [5]

Да, соглашусь но только как частный случай, в 80% катит, но не факт мне нужны решения!
Есть решения? а там посмотрим!


Eraser   (2006-11-16 02:28:00) [6]

> [4] Wadim   (16.11.06 02:23)


> запусти игру любую на нажми кнопку виндовс, что случиться
> при восстановлении игры - а ничего - пойдет дальше работать!

далеко не во всех играх и на всех видеоадптерах такое прокатывает.


Wadim   (2006-11-16 02:23:00) [7]

> Eraser
Все игры пробовал и через директ в т.ч., ховаются и потом восстанавливаются заново, как сворачивается прога, она останавливается через суспенд функцию. все нормально (при этом восстанавливается четко) иногда правда комп висит секунд на 10-15 при восстановлении но все работает потом ок, а вот четкое скрытие, кхе-кхе хромает.
Да и при чем тут способы вывода?
запусти игру любую на нажми кнопку виндовс, что случиться при восстановлении игры - а ничего - пойдет дальше работать!


Eraser   (2006-11-15 21:45:00) [8]

> [2] Wadim   (15.11.06 21:07)

все зависит от реализации прорисовки в играх. если используется DirectX, то вероятность того, что нельз будет свернуть программу очень высока. с этим ничего не поделаешь, разве что вручую переключить режим назад и вернуть поверхность. только игра потом не запустится )


Wadim   (2006-11-15 21:07:00) [9]

Например по русски, я не правильно выразился.
Я прячу скажем игру (например контру)
посылаю команду showwindow(hwnd, sw_hide);
все срабатывает, но только тогда пока не кликнешь мышкой на экране, т.е. не нормально отображаются окна других программ и тд.
ну а если кликнуть на кнопку виндовс (та которая возле котрола левого) вот нужна такая команда.


Ketmar   (2006-11-14 20:35:00) [10]

а теперь по-русски.


Наверх

Титульная страница Поиск, карта сайта Написать письмо