Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
2-1173694820
Gyrus
2007-03-12 13:20
2007.04.01
Количество записей с Null полем


2-1173093131
vtur
2007-03-05 14:12
2007.04.01
курсор мыши


15-1172871781
Алхимик
2007-03-03 00:43
2007.04.01
Анатолий Погорецкий - робот!


2-1173437359
Polzun
2007-03-09 13:49
2007.04.01
Как задать управляющие коды принтера?


6-1161170836
wolchonok29
2006-10-18 15:27
2007.04.01
Передача группы файлов по сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский