Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запретить любые действия везде, кроме моей программы 
:(
    Опции темы
DemoCode
Дата 27.2.2006, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Какие варианты, есть чтобы сделать так, чтобы, пока пользователь ни сделал определенных действий в моей программе, ни мог больше ничего ничего сделать?

Я блокирую Ctrl+Alt+Del, Alt+Tab, Alt+F4, а также делаю ClipCursor в области моей формы.
Но, проблема в том, что если нажать клавишу Win, далее можно делать что угодно. Как её запретить? А что ещё надо запретить, чтоб лишить пользователя выполнять какие-либо действия?

Под XP

Спасибо.

Это сообщение отредактировал(а) DemoCode - 27.2.2006, 20:54


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
Quadr0
Дата 27.2.2006, 22:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 10:35
  Вверх
DemoCode
Дата 28.2.2006, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я подпраил твой код:

Код

function KeyboardProc(nCode: Integer; WP: wParam; LP: lParam): integer; stdcall;
begin
  Result := CallNextHookEx(HKbdHook, nCode, WP, LP);
  if nCode = HC_ACTION then
  begin
    if (WP = VK_LWIN) or (WP = VK_RWIN) then
    begin
      SetforeGroundWindow(MFOrm);
      SendMessage(MForm, WM_SETFORE, 0, 0);
    end;
  end;
end;


Но ни работает. При нажатии на Win открывается пуск.


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
Romikgy
Дата 28.2.2006, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



А через это GetKeyboardState посмотреть его код?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
DemoCode
Дата 28.2.2006, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Romikgy @ 28.2.2006, 12:46 Найти цитируемый пост)
А через это GetKeyboardState посмотреть его код?

так тоже пробовал, не работает.


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
Romikgy
Дата 28.2.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(DemoCode @ 28.2.2006, 11:23 Найти цитируемый пост)
так тоже пробовал, не работает.

Эт просто посмотреть , smile а вот если его перехватить и обнулять эту кнопку, типа нажатия не было или keybd_event это перехватить smile я не знаю кто первый вызывается


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
DemoCode
Дата 28.2.2006, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Romikgy @ 28.2.2006, 14:02 Найти цитируемый пост)
если его перехватить и обнулять эту кнопку, типа нажатия не было или keybd_event это перехватить

В том-то и проблема. У меня получается перехватить любые клавиши, кроме Win.


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
bems
Дата 28.2.2006, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

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



Создай свой десктоп и работай там


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Romikgy
Дата 28.2.2006, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(DemoCode @ 28.2.2006, 12:08 Найти цитируемый пост)
меня получается перехватить любые клавиши

Я те посоветовал не клавиши перехватывать а ф-ции апи, для получения нажатой клавиши


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Rrader
Дата 1.3.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

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



Код

Procedure TForm1.Timer1Timer(Sender: TObject);
Var
  H: THandle;
Begin
  H := FindWindow('DV2ControlHost', NIL);
  If H <> 0 Then SendMessage(H, WM_CLOSE, 0, 0);
  SetForegroundWindow(Handle);
End;

Можно и улучшить - первое, что пришло в голову smile


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
xXxFENIKSxXx
Дата 17.3.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Извините нашли ли способ всё таки заблочить
Alt +TAb
Ctrl + Esc
Alt + F4
Windows + d
Особенно саму кнопку Windiws
а то проблема остаёться актуальной.
Только просьба не то что в теории а то что реально работает.
Был бы весьма благодарен.
PM MAIL   Вверх
Romikgy
Дата 17.3.2006, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



xXxFENIKSxXx, берешь и ищешь по форуму


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
xXxFENIKSxXx
  Дата 17.3.2006, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Romikgy @ 17.3.2006, 16:41)
xXxFENIKSxXx, берешь и ищешь по форуму


Нельзя ли ссылочкой плиз
Ты же наверняка знаешь где это лежит smile
а форум большой
PM MAIL   Вверх
bems
Дата 17.3.2006, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

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



Я ж сказал:
Цитата(bems @ 28.2.2006, 14:06 Найти цитируемый пост)
Создай свой десктоп и работай там
CreateDesktop ну и тд



--------------------
Обижено школьников: 8
PM MAIL   Вверх
xXxFENIKSxXx
Дата 18.3.2006, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А нельзя ли более подробно описать
CreateDesktop
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

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

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

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




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


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

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