Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
21 Июль 2025, 08:45:06
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Программирование
(Модераторы: Админ, barmalei) > Тема:

Как вывести окно поверх всех приложений Windows

Страниц  :   Вниз
  Печать  
Автор Тема: Как вывести окно поверх всех приложений Windows  (Прочитано 2469 раз)
0 Пользователей и 1 Гость смотрят эту тему.
frodo
Молодой Гродненец
*

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 22


Я программист. 285-68-17 (МТС)

Просмотр профиля WWW
« : 31 Август 2007, 00:59:44 »

Добрый день, мне очень важно узнать следующее:
Как вывести диалоговое окно поверх всех прочих приложений Windows с помощью Delphi.
То есть у меня запущено много программ, я читаю интересную книгу, а в моей программе задано вывести мне такое-то сообщение в такое-то время. Сообщение выводится. И пока я его не прочитаю, то оно не исчезнет.
Как сделать так, чтобы даже если я играю в игру, то игра блокируется и выводится сообщение, которое никак нельзя пропустить.
Возможно столь длинные комментарии не уместны,
но уж извините пожалуйста, мне необходимо срочно узнать ответ на данный вопрос.
FR0D0
P.S.: Заранее спасибо.
Записан

Мир без границ.
Dj_NudnyJ
Настоящий гродненец
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 369


Просмотр профиля
« Ответ #1 : 31 Август 2007, 12:04:44 »

если игра устанавливает эксклюзивный режим, то это будет очень сложно.
есть программка, XFire вроде, которая типа аськи, только заточена для работы именно в играх.
покопай, может найдёшь чего.
Записан
frodo
Молодой Гродненец
*

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 22


Я программист. 285-68-17 (МТС)

Просмотр профиля WWW
« Ответ #2 : 31 Август 2007, 23:11:09 »

Dj_NudnyJ, спасибо конечно за ответ.
Только ответ на поставленный мной вопрос я уже нашел, и нашел его более правильным.
Если кому интересно, то чтобы сделать это на дельфи, необходимо использовать функцию
SetWindowPos с параметром HWND_TOPMOST:

SetWindowPos(Form.Handle,HWND_TOPMOST,left,top,width,height,SWP_NOACTIVATE);
Form.Show();//сделать форму видимой

Этот код выводит окно 'Form' поверх всех остальных.
Dj_NudnyJ, cпасибо за ответ, он мне тоже приготится.
FR0D0
P.S.: Спасибо за внимание.
Записан

Мир без границ.
Dj_NudnyJ
Настоящий гродненец
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 369


Просмотр профиля
« Ответ #3 : 02 Сентябрь 2007, 01:31:59 »

это не всегда будет работать если гамка ставит DD_EXCLUSIVE
но если тебе HWND_TOPMOST катит, то и ладно.
Записан
source™
Когда тоскливо на душе и Nescafe не лезет в глотку, ты позвони скорее мне - мы вместе наскрёбем на водку.
Почетный гродненец
*****

Репутация: +220/-2
Offline Offline

Пол: Мужской
Сообщений: 1489


Просмотр профиля
« Ответ #4 : 08 Октябрь 2007, 13:58:31 »

form1.FormStyle:=fsStayOnTop;
Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2025, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,088 секунд. Запросов: 20.