Текущий архив: 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.47 MB
Время: 0.009 c