Форум: "WinAPI";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
ВнизКак сделать обновление экрана как при нажатии кнопки 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.067 c