Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2007, 19:41   #1
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Вопрос Отселдить полноэкранное приложение

Драсте всем !

У меня вопрос(1) : как можно отследить запуск полноэкранного приложения ? (необходимо для чата(для автоматического изменения статуса))
вопрос(2) : каким способом определить заголовок активного окна ? (или как по HWND определить caption окна?)

Всем пасиба !
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 12.12.2007, 19:43   #2
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

GetWindowText(hWnd, buffer, size);
buffer - pchar строка, size - её размер.

Отследить изменение режима - ща гляну, вроде есть что-то
--
WM_DISPLAYCHANGE
пыщь

Последний раз редактировалось JTG; 12.12.2007 в 19:53.
JTG вне форума Ответить с цитированием
Старый 12.12.2007, 21:51   #3
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Смех

Цитата:
Сообщение от JTG Посмотреть сообщение
GetWindowText(hWnd, buffer, size);
buffer - pchar строка, size - её размер.

Отследить изменение режима - ща гляну, вроде есть что-то
--
WM_DISPLAYCHANGE
Пасиб , но , ээээ а как это использовать то ? напиши плз функцию возвращяющюю тру фалсе ... естессно запущено / нет

GetWindowText(GetForgroundWindow, buffer, size);
это автоматом изменит переменную buffer на заголовок окна ?
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 13.12.2007, 00:29   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

GetWindowText +f1
по второму:
WM_DISPLAYCHANGE - сообщение windows
Код:
....
protected
procedure XXX(var Msg: TMessage); message WM_DISPLAYCHANGE;
....
procedure tformX.XXX(var Msg: TMessage);
begin
....
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 13.12.2007, 01:47   #5
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Вопрос

Цитата:
Сообщение от Квэнди Посмотреть сообщение
GetWindowText +f1
по второму:
WM_DISPLAYCHANGE - сообщение windows
Код:
....
protected
procedure XXX(var Msg: TMessage); message WM_DISPLAYCHANGE;
....
procedure tformX.XXX(var Msg: TMessage);
begin
....
end;
Пасиба !, а если я просто поменяю картинку на рабочем столе то тоже будет выполныццо процедура ?
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 13.12.2007, 14:41   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Неа, чтоб отследить изменение фона раб. стола - WM_SETTINGCHANGE, но во-первых оно отправляется ещё и при изменении других параметров, так что при получении этого сообщения надо самому прочитать из реестра параметр, отвечающий за обои, и сравнить его с тем, что был считан ранее. Если отличаются - обои изменились.
А во вторых - есть отзывы, что почему-то не всегда срабатывает
пыщь
JTG вне форума Ответить с цитированием
Старый 14.12.2007, 18:33   #7
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Радость

Цитата:
Сообщение от JTG Посмотреть сообщение
Неа, чтоб отследить изменение фона раб. стола - WM_SETTINGCHANGE, но во-первых оно отправляется ещё и при изменении других параметров, так что при получении этого сообщения надо самому прочитать из реестра параметр, отвечающий за обои, и сравнить его с тем, что был считан ранее. Если отличаются - обои изменились.
А во вторых - есть отзывы, что почему-то не всегда срабатывает
В том то и дело что мне нужно чтобы моя функция определяля только полноэкранные приложения точнее факт их активной работы (например я включил чат в фоновом режиме а сам "пашол" играть в какуюто полноэкранную игру , вот у меня в чате и должен автоматом менятся статус , а для этого нада функцию такую сделать чтобы она следила за полноэкранными приложениями ...)
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 14.12.2007, 18:42   #8
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Ну так Квэнди ж дал код - процедура tformX.XXX должна выполнится при изменении разрешения, смена обоев рабочего стола её не касается, и вообще в твоём случае проще отслеживать появление окна/процесса с определённым именем.
пыщь
JTG вне форума Ответить с цитированием
Старый 15.12.2007, 14:30   #9
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

Ну если я буду следить за определённым процессом и окном то это да но у меня должно быть более менее универсальное решение,
канечно можно дать пользователю возможность завести список приложений и игр при каторых его статус должен быть автоматически изменен на "занят" ... но это уже относительно... если пользователь активный геймер то этот список может быть давольно большим и на проврку статуса могут наверно потребоватся ресурсы компьютера (я так думаю что при большом списке цикл проверки немного нагрузит компьютер, и ещё больше нагрузит компьютер если он будет поверятся довольно часто ...)
---
GAGARIN-NEW вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MDI-приложение Технолог Общие вопросы Delphi 6 02.05.2008 20:10
Пароль на приложение Chals Общие вопросы Delphi 6 24.11.2007 21:32
MDI приложение Arsgun Общие вопросы Delphi 4 29.05.2007 12:36
активное приложение Toxa Общие вопросы Delphi 1 28.12.2006 09:41
Консольное приложение MAcK Общие вопросы Delphi 2 03.12.2006 18:28