Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
14-33750
otido
2003-08-24 14:45
2003.09.11
Вопросик по MS WORD 2000... может и с программированием связан...


3-33493
Relaxxx
2003-08-20 12:21
2003.09.11
Как мне сделать чтоб при нажатии правой кнопки по заголовку табли


3-33438
grusty
2003-08-21 10:48
2003.09.11
Удаление всех записей в ADO.


1-33574
Alex17
2003-08-28 16:59
2003.09.11
Ошибка при добавлении нового проекта в Project manager


1-33568
Pirat
2003-08-28 12:15
2003.09.11
странный глюк TListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский