Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Фокус окна


Автор: WERITAS 23.12.2006, 23:17
Можно ли сделать так, чтобы пока окно не закрыто, ничего другое (приложения) выбирать или запускать нельзя?  smile 
И как у этого окна из заголовка убрать кнопку "Закрыть"?  

Автор: GuManOiD 24.12.2006, 00:20
Можно, WinAPI
Очень много способов в реализации, смотря в каких целях ты это делаешь если ты пытаешься создать приложение для надежной защиты, то придется блокировать клавиатуру (горячие клавиши Ctrl+alt+delete) либо окна закрывать системные дабы не дать завершить твою программу.

Напишу немного кода, если поконкретней объяснишь задачу

Автор: WERITAS 24.12.2006, 00:32
Нужно в целях защиты. Собственно насчет закрытия окна - это не так уж и важно, его в моей программе повторно запустить после закрытия все равно нельзя будет без ввода пароля. А вот как сделать, чтобы юзер, не закрывая окно, не мог "шарится" на винте?

Автор: MetalFan 24.12.2006, 01:02
сверху всех, без кнопки закрыть и на всеь экран ;)
"то, что доктор прописал"

FormStyle = fsStayOnTop
BorderStyle = bsSingle
WindowState = wsMaximized
p.s.ну и в OnCloseQuery CanClose проверить и вернуть фальш, если не нуна закрывать) это от Alt+F4
p.p.s. но от диспетчера это не спасет... хотя он будет "позади" этой формы...


Автор: WERITAS 24.12.2006, 01:10
 smile .... 
MetalFan 
Прочитай еще раз вопрос
Цитата

Можно ли сделать так, чтобы пока окно не закрыто, ничего другое (приложения) выбирать или запускать нельзя? И как у этого окна из заголовка убрать кнопку "Закрыть"?   

Как сделать форму на весь экран и чтобы она не закрывалась по Alt+F4 я не спрашивал, потому что мне совсем не это надо

Автор: MetalFan 24.12.2006, 11:02
что не то? ну убери Maximized....
так же можно пройтись по всем top-level окнами  задисаблить их.
правда от горячих клавиш это не спасет...
либо поставить хук и рубить им все сообщения другим окнам, кроме как своим...

Автор: WERITAS 24.12.2006, 19:21
Я имел в виду можно ли каким-нибудь образом полностью перехватить управление компом, как это сделанно в некоторых играх с помощью Direct3D и  DirectInput

Автор: Sunvas 25.12.2006, 15:03
Цитата(WERITAS @  23.12.2006,  23:17 Найти цитируемый пост)
ничего другое (приложения) выбирать или запускать нельзя?

Для таких случаев самое умное - это хучить клаву и мышь. А показывать при этом окно или не показывать это дело только для эстетического вида.

Автор: WERITAS 25.12.2006, 23:13
Неее... мне надо, чтобы юзер мог мышкой тока в окне работать. Как в игрушках. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)