Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: CL | DM;

Вниз

Программа для игрового клуба   Найти похожие ветки 

 
RUSLAN_   (2003-08-21 20:40) [0]

Привет мастера!
Помогите пожалуйста решить небольшую проблему.
Речь идет о программах для игровых клубов. Обычно такие программы состоят из клиента и сервера. Каким образом можно сделать так чтобы при получении клиентом команды о от сервера о блокировании компьютера, клиент вывел окно на весь экран поверх всех окон и даже игр или хотя бы вывести сообщение пользователю не сбивая игру и заблокировать компьютер. И попутный вопрос, как заблокировать меню кнопки пуск и при необходимости разблокировать(программно). Заранее благодарю.


 
otido ©   (2003-08-21 20:46) [1]

кнопку пуск по-моему проще скрыть)))
и что-нибудь типа ShowModal....


 
Palladin ©   (2003-08-21 20:54) [2]

и чего всех тянет эту дрянь написать...


 
otido ©   (2003-08-21 20:56) [3]

в сети полно ведь готовых))) хотя как путь к самосовершенствоанию - сойдёт в принципе)))


 
RUSLAN_   (2003-08-21 22:22) [4]

Ладно, подскажите хотя бы как отключить горячую клавишу кнопки пуск (Ctrl+Esc).


 
otido ©   (2003-08-21 22:24) [5]

Имхо "хотя бы" слегка неуместно)))Это вроде как даже и сложнее))) а скрыть кнопку "Пуск" как раз-таки легко))) пример по-моему видел на http://delphi4all.narod.ru


 
RUSLAN_   (2003-08-21 22:29) [6]

Скрыть кнопку пуск я могу, но это не помогает. Даже после скрытия этой кнопки, по нажатию (Ctrl+Esc) вылетает меню кнопки пуск.


 
otido ©   (2003-08-21 22:33) [7]

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


 
Pindos ©   (2003-08-21 22:36) [8]

если Os не NT, тогда можно отключить все системные клавиши
пример:
Procedure OffSysKey(off:boolean); {off если False то отключит, если True то включит возможность нажатия Сис.Клавиш.}
begin
if off then
systemparametersInfo(spi_screenSaverrunning,1, nil, 0)
else
systemparametersInfo(spi_screenSaverrunning,0, nil, 0);
end;

писал по памяти, могут быть ошибки, если не получится пиши!
PindosInc®


 
RUSLAN_   (2003-08-21 22:45) [9]

С пуском разобрались. Теперь первая часть вопроса- как же вывести сообщение на экран если загружена какая ни будь 3D игрушка? Реально ли вообще такое сделать. Я пробовал писать текст на активном окне через HWND, но это очень мерцает и не видно что написано.


 
otido ©   (2003-08-21 22:46) [10]

хм... это разве на контрол-эскейп влияет? по моему только на "три буквы".. хотя могу и ошибаться... кстати, моя любимая клавиша Виндовз присутствует на подопытных клавах?))


 
Calm ©   (2003-08-22 09:02) [11]

RUSLAN_
Нужно писать на контекст №0.
Делай вот так:

ActiveCanvas := TCanvas.Create;
ActiveCanvas.Handle := GetDC(0);

ActiveCanvas.Font.Color := clBlack;
ActiveCanvas.Font.Size := 50;
ActiveCanvas.Font.Style := [fsBold];
ActiveCanvas.Brush.Style := bsClear;
ActiveCanvas.TextOut(100,300, "Вам пора домой!");


Игрушка будет это все забивать, поэтому нужно перерисовываться часто, например раз в 10 мс.
Когда надпись нужно будет убрать, не забудь сделать
RedrawWindow(GetDesktopWindow,nil,0,RDW_INVALIDATE + RDW_UPDATENOW + RDW_ALLCHILDREN);
Иначе твой мессадж так и останется на экране.


 
Calm ©   (2003-08-22 09:03) [12]

Еще могу подсказать, если нужно, как для win2k и winXP заблокировать таск менеджер.


 
kostas ©   (2003-08-22 10:35) [13]


> Calm

Офигительный примерчик! Давно искал что-то подобное!
Спасибо :)


 
RUSLAN_   (2003-08-22 21:37) [14]

Calm
Спасибо!
Это то, что я искал!

> Еще могу подсказать, если нужно, как для win2k и winXP заблокировать
> таск менеджер.

Очень даже нужно!



Страницы: 1 вся ветка

Текущий архив: 2003.09.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
14-33800
uw
2003-08-25 12:58
2003.09.11
Английский язык - самый трудный


14-33751
uw
2003-08-24 15:58
2003.09.11
На дачу и обратно


1-33671
Sfagnum
2003-08-29 10:54
2003.09.11
Объявление массива...


1-33646
mfender
2003-08-30 17:25
2003.09.11
Разобрать строку по костям.


3-33483
sash2
2003-08-20 13:21
2003.09.11
Проблема с переносом 3.