Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мессага поверх окон чужих приложений... 
V
    Опции темы
Crash512
Дата 17.12.2006, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 12.9.2006

Репутация: нет
Всего: нет



Пишу программу для администрирования компьютерного зала... Я знею, что таких прог уже десятки, но мне платят за исходник=) Столкнулся со следующей проблемой...

Проблема такая: нужно сделать так, чтобы сообщение (просто текст) выводилось поверх всех окон (включая игры) на пару секунд.

Видел подобную фишку в одной админской проге для клуба. Сообщение большими красными буквами выводилось вверху экрана. Сообщение моргало около 2х секунд, и пропадало... Надо сделать что-то подобное, но не представляю как...

Помогите разобраться!
PM MAIL ICQ   Вверх
Anikmar
Дата 17.12.2006, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



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

Это сообщение отредактировал(а) Anikmar - 17.12.2006, 13:25
PM MAIL ICQ   Вверх
Crash512
Дата 17.12.2006, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 12.9.2006

Репутация: нет
Всего: нет



Жесть... А чего же делать?.. Это важная функция для заказчика... Для меня она является самой сложной=)
PM MAIL ICQ   Вверх
Anikmar
Дата 17.12.2006, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



1 Вариант - доверится виндам и размещать окошко StaOfTop - посмотреть что будет
2 Вариант более сложный - сначала определять в каком режиме находится экран и действовать по обстоятельствам. Если текущий режим не страдает экзотикой - то выводить стандартными методами, если нет - то уже думать
PM MAIL ICQ   Вверх
codelord
Дата 17.12.2006, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



не знаком DX но нет ли такой возможности из буфера видюхи забрать картинку
переделать ее и вернуть назад. Лучше  обратиться в сооотв. раздел. 


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
Crash512
Дата 17.12.2006, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 12.9.2006

Репутация: нет
Всего: нет



А больше никаких возможностей?..
PM MAIL ICQ   Вверх
codelord
Дата 17.12.2006, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Вот придумал сообразил такой вариант.
таймер надо выствить эдак на 100мсек:
никуда не денутся увидят smile
Код

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 TCanvas * DeskTop = new TCanvas;
if (DeskTop)
        {
        DeskTop->Handle = GetDC(HWND_DESKTOP);
        DeskTop->Brush->Style = bsClear;
        DeskTop->Font->Size = 36;
        DeskTop->Font->Color=(TColor)RGB(255,0,0);
        DeskTop->Font->Style = TFontStyles() << fsBold;
        DeskTop->Font->Name = "Lucida Console";
        DeskTop->TextOut(1,1,"Ваше время заканчивается через 5 минут");
        ReleaseDC(0, DeskTop->Handle);
        }
delete DeskTop;
}


Добавлено @ 23:13 
а обновлять сообщение нужно по любому т.к. игра как правило около 60 кадров в сек обновляет экран..


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
Anikmar
Дата 18.12.2006, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Не прокатит. Это сообщение будет выдаваться на стол... А игруха будет висеть над ним. Надо выдавать в окно игрухи либо поверх всех.
PM MAIL ICQ   Вверх
codelord
Дата 18.12.2006, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Цитата(Anikmar @  17.12.2006,  20:07 Найти цитируемый пост)
Не прокатит. Это сообщение будет выдаваться на стол... А игруха будет висеть над ним. Надо выдавать в окно игрухи либо поверх всех

а ты попробуй.
а поверх всех не пойдет, игры вываливаются нафиг, CS точно.


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
Anikmar
Дата 18.12.2006, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



codelord,  Вы меня оспариваете или соглашаетесь? Я говорю Не прокатит. А вы?
PM MAIL ICQ   Вверх
Crash512
Дата 18.12.2006, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 12.9.2006

Репутация: нет
Всего: нет



codelord

Спасибо! Очень выручил!=))
PM MAIL ICQ   Вверх
Anikmar
Дата 18.12.2006, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Некторое время назад я был владельцем сети компьютерных клубов. Я знаю специфику работы в них и специфику характера геймеров.
Если вам поставили задачу именно так - мой совет переубедить заказчика, что такой функционал не нужен.

Аргументы:
Если это компьютерный клуб - туда ходят люди постоянные и любящие именно этот клуб. Если он зибились на пару ящиков пива, а вкритический момент у них вылетает игруха из-за админ-автомата и они не получают свой выигрышь - они больше в клуб не придут.

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

Выводы:
Не надо вмешиваться в игровой процесс геймера - это вредно влияет на его психику - дальше на его отношение к к лубу - дальше на бабло хозяина. Напоминать надо вежливо.

Решение:
1. Можно поставить сигнализацию у каждого компа с красной лампочкой, которая будет мигать при приблежении к порогу отключения. - Подключаем к порту и программируем резидента. Затраты примерно 30 уе на пост плюс программеру

2. Можно поставить громкую связь

3. Наилучшее на мой взгляд. Дать *%*?%: админам, чтобы им было не лень пойти и выгнать геймера с места (ВЕЖЛИВО), а вот на посты поставить маленького резидента - лога, который определяет - использовался комп или нет в этот момент времени. Дальше суммируем - и отдаем заказчику еженедельный отчет. А он пусть сам смотрит - нагревают его админы или нет.
PM MAIL ICQ   Вверх
Crait
Дата 18.12.2006, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 244
Регистрация: 20.2.2003

Репутация: нет
Всего: 1



Можно ещё формировать сообщение средствами звукового вывода.
PM MAIL   Вверх
witex
Дата 18.12.2006, 04:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 16.10.2006
Где: Эстония

Репутация: 1
Всего: 4



Звук отвлекает!

А вот на счёт подсказок.
Год назад, я работал  в одном копьютерном клубе. Так там, сразу поверх любых окон всегда наверху небольшой квадратик всегда был! И показывал, сколько осталось юзать пользователю комп. И там спокойной можно было подойти к админу и добавить время!
Допусти табличка зелёного цвета пока вемя больше 10 минут. жолтая когда больше 5 и красная когда уже остаёться 5 минут и меньше.
Самое удобное, не отвлекает ни кого и всем удобно. 
Так что луше постоянно маленькую мессагу сверху держать, чем выпрыгивала бы мессага.
--------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. 
PM MAIL   Вверх
Anikmar
Дата 18.12.2006, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



А если этот квадратик закроет нужную информацию? Игрухи разные бывают...
Это конечно лично мое мнение, но любая лишняя информация будет мешать игровому процессу. Админский модуль на геймерской станции должен быть, но он не должен никоим образом мешать геймеру.
На рабочем месте админа должно все считаться, а вот в обязанности админа входит предупреждение геймера о заканчивающемся времени.
PM MAIL ICQ   Вверх
Crash512
Дата 18.12.2006, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 12.9.2006

Репутация: нет
Всего: нет



Цитата(Anikmar @  18.12.2006,  00:25 Найти цитируемый пост)
Если вам поставили задачу именно так - мой совет переубедить заказчика, что такой функционал не нужен.


У меня нет ни одного аргумента для переубеждения заказчика... Я от его клуба ничего не получаю. За программу он мне платит деньги...=) Тут либо "се ля ви", либо "се ля вас"=))
PM MAIL ICQ   Вверх
Anikmar
Дата 19.12.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Цитата

У меня нет ни одного аргумента для переубеждения заказчика... Я от его клуба ничего не получаю. За программу он мне платит деньги...=) Тут либо "се ля ви", либо "се ля вас"=)) 


В качестве аргумента можно привести мои доводы, как человека это все прошедшего. Если хочется клуб раскрутить на полную - надо меньше автоматики, а больше человеческого общения - проверено на 100%
PM MAIL ICQ   Вверх
Crash512
Дата 19.12.2006, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 12.9.2006

Репутация: нет
Всего: нет



Я конечно всё понимаю, и доводы Ваши уважаю... Но я к клубу никакого отношения не имею=) Поэтому мне остаётся лишь делать программу... Если я отговорю заказчика, не получу денег... Вот и всё... 
PM MAIL ICQ   Вверх
Anikmar
Дата 20.12.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Цитата(Crash512 @ 19.12.2006,  20:14)
Я конечно всё понимаю, и доводы Ваши уважаю... Но я к клубу никакого отношения не имею=) Поэтому мне остаётся лишь делать программу... Если я отговорю заказчика, не получу денег... Вот и всё...

Ни в коем случае нехочу навязывать свое мнение. В конце концов кто девушку ужинает тот ее и танцует - тут вы абсалютно правы.

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

Главное, чтобы заказчик во время  бета-тестирования не нарвался на эти глюки (а то еще не заплатит). Или потом, чтобы он предъявами не завалил - типа я заплатил, а твое [censored33! Пожалуйста, соблюдайте элементарные правила приличия при общении на форуме] не работает (я бывал как в роли заказчика так и в роли программера-исполнителя - у меня такие случаи были). И доказывай потом, что это дядя Билли криво написал систему...

Ну а если на практике - я бы начал с реализации основного функционала:
1. Серверная часть. Стоит на админской машине и посылает команды клиентам.
2. Клиентская часть принимает команды от серверной - начать отсчет, заблокировать комп и т.п.

После того как связка реализована уже приступать к визуализации сообщения. Начать с обычного выскакивающего окошка виндов - можно без рамки, с прозрачным фоном и обычными цифрами - типа пора закругляться. А дальше уже отлаживать на всех режимах, которые под рукой.
PM MAIL ICQ   Вверх
Crash512
Дата 20.12.2006, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 12.9.2006

Репутация: нет
Всего: нет



Anikmar,

Обижаете=)) Сервер клиент-сервер уже написаны..=) 
PM MAIL ICQ   Вверх
Anikmar
Дата 20.12.2006, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Цитата(Crash512 @ 20.12.2006,  11:49)
Anikmar,

Обижаете=)) Сервер клиент-сервер уже написаны..=)

Отлично.
Тогда см. выше
Цитата

После того как связка реализована уже приступать к визуализации сообщения. Начать с обычного выскакивающего окошка виндов - можно без рамки, с прозрачным фоном и обычными цифрами - типа пора закругляться. А дальше уже отлаживать на всех режимах, которые под рукой. 


Я бы начал со стандартных средств и посмотрел как винда с этим справится
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0970 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.