Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2010, 16:31   #11
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

тестировать и проверять надо. у меня нет на это времени
rpy3uH вне форума Ответить с цитированием
Старый 18.04.2010, 16:42   #12
DannerDOS
Пользователь
 
Регистрация: 01.12.2008
Сообщений: 27
По умолчанию

Лишь этот вот отрывок кода подправить нужно:
Код:
const
  CtrlAltDel_CODE = (VK_DELETE shl 16) or (MOD_CONTROL or MOD_ALT);
  CtrlShiftEsc_CODE = (VK_ESCAPE shl 16) or (MOD_CONTROL or  MOD_SHIFT);
  CtrlEscape_CODE = (VK_ESCAPE shl 16) or MOD_CONTROL;

function NewWndProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM):
  LRESULT; stdcall;
begin
  if msg = WM_HOTKEY then begin
    if (lParam = CtrlAltDel_CODE) or (lParam = CtrlShiftEsc_CODE)
      or (lParam = CtrlEscape_CODE) then
      Result := 0
    else
      Result := CallWindowProc(OldWndProc, hWnd, Msg, wParam, lParam);
  end else
    Result := CallWindowProc(OldWndProc, hWnd, Msg, wParam, lParam);
end;
Работают: CtrlShiftEsc_CODE и CtrlAltDel_CODE.
CtrlEscape_CODE - не работает...

Немного странно...

Приставку MOD_ имеют клавиши: SHIFT, CONTROL, WIN, ALT.
Клавиши с которыми могут заключаться в комбинации имеют приставку VK_.
т.е. WinLogon точнее WM_HOTKEY отвечает за "MOD_" клавиши и их системные комбинации.
Код:
const
  CtrlAltDel_CODE = (VK_DELETE shl 16) or (MOD_CONTROL or MOD_ALT);
  CtrlShiftEsc_CODE = (VK_ESCAPE shl 16) or (MOD_CONTROL or  MOD_SHIFT);
  CtrlEscape_CODE = (VK_ESCAPE shl 16) or MOD_CONTROL;
  AltTab_CODE = (VK_TAB shl 16) or MOD_ALT;
  Win_CODE = MOD_WIN;
  AltF4_CODE = (VK_F4 shl 16) or MOD_ALT;
  AltEscape_CODE = (VK_ESCAPE shl 16) or MOD_ALT;
  WinEscape_CODE = (VK_ESCAPE shl 16) or MOD_WIN;
Но не одна из них не работает, за исключением первых двух...
Может смещение нужно иное? Может в право? (shl, shr)

Да, верно вы говорите... Здесь что то глубже...

Последний раз редактировалось rpy3uH; 18.04.2010 в 17:46.
DannerDOS вне форума Ответить с цитированием
Старый 18.04.2010, 20:24   #13
DannerDOS
Пользователь
 
Регистрация: 01.12.2008
Сообщений: 27
По умолчанию

Данным метадом блокируеться только две комбинации, которые ведут к диспетчеру задач (что и было целью вашей статьи). Таким метадом больше никаких функциональных клавишь заблокировать нельзя...

Тогда вытекающий вопрос (непосредственно относящицся к данной теме): Каким образом заблокировать вышеуказанные комбинации за исключением блокирующихся?
DannerDOS вне форума Ответить с цитированием
Старый 18.04.2010, 20:50   #14
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

через стандартный механизм хуков
rpy3uH вне форума Ответить с цитированием
Старый 20.04.2010, 21:44   #15
DannerDOS
Пользователь
 
Регистрация: 01.12.2008
Сообщений: 27
По умолчанию

Кому нужно, код по указанной ссылке.
DannerDOS вне форума Ответить с цитированием
Старый 05.05.2010, 14:12   #16
DannerDOS
Пользователь
 
Регистрация: 01.12.2008
Сообщений: 27
Восклицание Блокирование CAD

Есть проблема переноса вашего кода из Delphi 7 на Delphi 2009, прошу помощи!
Вложения
Тип файла: rar CAD.rar (230.3 Кб, 6 просмотров)
DannerDOS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перебор возможных комбинаций символов Toxask8 Общие вопросы C/C++ 1 12.12.2009 21:33
Сколько комбинаций у кубика Рубика? Altera Свободное общение 31 24.11.2009 03:12
Delphi. Проверка комбинаций Zhamie Помощь студентам 7 15.09.2009 11:39
Как получить имя нажимаемых системных клавиш(Delphi) The_Darkness Помощь студентам 2 18.07.2008 18:31
блокирование функции Fireleo Win Api 5 29.07.2007 17:04