Disabling the Alt-Tab key combination Відключення комбінації клавіш Alt + Tab

Dan Crea, www.codeguru.earthweb.com

Найпростіший спосіб відключення Alt + Tab – використання функції RegisterHotKey. Виклик цієї функції з вашого процесу дає йому перевагу над ОС. Повідомлення WM_HOTKEY, яке генерує певна комбінація клавіш буде перенаправлено в чергу повідомлень вашого процесу. Для блокування комбінацій клавіш просто не обробляйте повідомлення WM_HOTKEY прислане в вашу чергу. Нижче наведений конструктор і деструктор демонструють ці дії.

/ / Викликайте функцію RegisterHotKey коли ваш додаток / / Захоче блокувати комбінацію ALT-TAB/ / Зауваження: m_nHotKeyID змінна типу int яка визначає/ / ID комбінації, id комбінації визначається програмно
CMainFrame::CMainFrame()
{ 
  m_nHotKeyID = 100;
  BOOL m_isKeyRegistered = RegisterHotKey(GetSafeHwnd(), m_nHotKeyID, MOD_ALT, VK_TAB); 
  ASSERT(m_isKeyRegistered != FALSE);
}

/ / Видаляємо блокування при завершенні програми CMainFrame::~CMainFrame() { BOOL m_iskeyUnregistered = UnregisterHotKey(GetSafeHwnd(), m_nHotKeyID); ASSERT(m_isKeyUnregistered != FALSE); }

Тепер у вас є найпростіший спосіб блокування Alt-Tab написаний без використання VxD.

Блокування гарячих клавіш продовжується поки запущено ваш додаток. Коли ваш процес завершитися буде відновлено стандартна функціонування комбінації гарячих клавіш.

4/2/99

(DM: Примітка. Схоже все це нормально працює тільки на NT)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*