Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: CL | DM;

Вниз

Как сделать обновление экрана как при нажатии кнопки Windows   Найти похожие ветки 

 
Wadim   (2006-11-14 20:14) [0]

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


 
Ketmar ©   (2006-11-14 20:35) [1]

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


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

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


 
Eraser ©   (2006-11-15 21:45) [3]

> [2] Wadim   (15.11.06 21:07)

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


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

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


 
Eraser ©   (2006-11-16 02:28) [5]

> [4] Wadim   (16.11.06 02:23)


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

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


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

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


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

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


 
Elen ©   (2006-11-16 08:46) [8]


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

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


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

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


 
Elen ©   (2006-11-17 08:08) [10]


> Wadim

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



Страницы: 1 вся ветка

Текущий архив: 2007.04.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
2-1173118457
pasha star
2007-03-05 21:14
2007.04.01
list.txt to .rc


2-1173776010
Эшили
2007-03-13 11:53
2007.04.01
Самодельный Web-brouser


2-1173179877
Marat
2007-03-06 14:17
2007.04.01
читаю файл


2-1173434026
pasha star
2007-03-09 12:53
2007.04.01
сортировка в ListBox


1-1170675164
Leff
2007-02-05 14:32
2007.04.01
некорректный ClipRect при resize TCustomControl а