Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Как отключить Alt+Tab В XP?   Найти похожие ветки 

 
OPOPO   (2012-06-16 00:22) [0]

Для своего приложения нужно отключить эту связку. Как?


 
TUser ©   (2012-06-16 00:24) [1]

хук?


 
DVM ©   (2012-06-16 00:32) [2]


{******************************************************************************}  
{* Module:  DisableLowLevelKeys.cpp                                           *}
{* Notices: Written 2000 Jeffrey Richter                                      *}
{*                                                                            *}
{* Translated by: Dmitry Muratov                                              *}
{* 2008                                                                       *}
{******************************************************************************}  

program DisableLowLevelKeys;

uses
Windows, Messages;

const
LLKHF_ALTDOWN  = KF_ALTDOWN shr 8;
WH_KEYBOARD_LL = 13;

type

TKBDLLHOOKSTRUCT = record
  vkCode: DWORD;
  scanCode: DWORD;
  flags: DWORD;
  time: DWORD;
  dwExtraInfo: DWORD;
end;
PKBDLLHOOKSTRUCT = ^TKBDLLHOOKSTRUCT;

var
hhkLowLevelKybd: HHOOK;

//------------------------------------------------------------------------------

function LowLevelKeyboardProc(nCode: integer;  wParam: WPARAM;  lParam: LPARAM): LRESULT; stdcall;
var
fEatKeystroke: boolean;
p: PKBDLLHOOKSTRUCT;
begin
fEatKeystroke := false;
if nCode = HC_ACTION then
  begin
    case wParam of
      WM_KEYDOWN,
      WM_SYSKEYDOWN,
      WM_KEYUP,
      WM_SYSKEYUP:
        begin
          p := PKBDLLHOOKSTRUCT(lParam);
          fEatKeystroke := ((p^.vkCode = VK_LWIN) or (p^.vkCode = VK_RWIN)) or
                           ((p^.vkCode = VK_TAB) and ((p^.flags and LLKHF_ALTDOWN) <> 0)) or
                           ((p^.vkCode = VK_ESCAPE) and ((p^.flags and LLKHF_ALTDOWN) <> 0)) or
                           ((p^.vkCode = VK_ESCAPE) and ((GetKeyState(VK_CONTROL) and $8000) <> 0)) or
                           ((p^.vkCode = VK_F4) and ((p^.flags and LLKHF_ALTDOWN) <> 0));
        end;
    end;
  end;
if fEatKeystroke then
  result := 1
else
  result :=  CallNextHookEx(0, nCode, wParam, lParam);
end;

//------------------------------------------------------------------------------

begin
// Install the low-level keyboard & mouse hooks
hhkLowLevelKybd := SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hInstance, 0);

// Keep this app running until we"re told to stop
MessageBox(0,
           PChar("Alt+Esc, Ctrl+Esc, WIN, Alt+F4, and Alt+Tab are now disabled." + #13#10 +
                 "Click "Ok" to terminate this application and re-enable these keys."),
           PChar("Disable Low-Level Keys"),
           MB_OK);

// Remove hooks
UnhookWindowsHookEx(hhkLowLevelKybd);
end.



 
Юрий Зотов ©   (2012-06-16 01:11) [3]

Лучше всего стандартные аккорды не отключать, а если они мешают приложению, то пересмотреть логику приложения.


 
OPOPO   (2012-06-16 01:24) [4]


> Юрий Зотов ©   (16.06.12 01:11) [3]


Как тогда в играх делают?


 
icelex ©   (2012-06-16 01:28) [5]

прячут сцену и восстанавливают


 
Германн ©   (2012-06-16 01:28) [6]

Имхо, Alt+Tab единственный нормальный способ переключиться из "полноэкранного" приложения. Если этот способ не работает, то дальше только три кнопки могут помочь. Вопрос - зачем такое нужно?


 
Юрий Зотов ©   (2012-06-16 01:29) [7]


> OPOPO   (16.06.12 01:24) [4]

Можно никак не делать. Зачем нарушать привычное юзеру поведение Alt+Tab?

Да и чем оно мешает? Если юзер жмет Alt+Tab, значит он хочет переключиться на другую задачу. Его право.


 
icelex ©   (2012-06-16 01:36) [8]


> Да и чем оно мешает? Если юзер жмет Alt+Tab, значит он хочет
> переключиться на другую задачу. Его право.

авторы вредоносного ПО считают иначе :)


 
Германн ©   (2012-06-16 01:39) [9]


> icelex ©   (16.06.12 01:36) [8]
>
>
> > Да и чем оно мешает? Если юзер жмет Alt+Tab, значит он
> хочет
> > переключиться на другую задачу. Его право.
>
> авторы вредоносного ПО считают иначе :)

Авторы вредоносного ПО могут считать иначе. Но Alt+Tab для них далеко не самое главное препятствие.


 
Германн ©   (2012-06-16 01:43) [10]

И даже более того. Авторы вредоносного ПО вполне могут обойтись без запрета Alt+Tab.


 
icelex ©   (2012-06-16 01:46) [11]


> Германн ©   (16.06.12 01:43) [10]
> И даже более того. Авторы вредоносного ПО вполне могут обойтись
> без запрета Alt+Tab.

мне кажется, все начинающие засранцы-недоделы начинают именно с этого


 
Германн ©   (2012-06-16 01:55) [12]


> мне кажется, все начинающие засранцы-недоделы начинают именно
> с этого

Ну это уж очень "начинающие". Такой WinLock очень просто снимается любым детсадовцем.
Имхо, автор имеет в виду нечто иное.


 
icelex ©   (2012-06-16 01:58) [13]

да кто их шибко умных знает...
всегда лучше надеяться на лучшее в людях


 
Германн ©   (2012-06-16 02:01) [14]


> icelex ©   (16.06.12 01:58) [13]
>
> да кто их шибко умных знает

Мастера DELPHI! кто же ещё! :)


 
Дмитрий С ©   (2012-06-16 02:35) [15]

А меня всегда было два вопроса:
1. Кто обрабатывает комбинацию Ctrl+Shift+Esc.
2. Как приложения вроде RDP Client или виртуальных машин перехватывают комбинации Alt+Tab или Ctrl+Shift+Esc.


 
Inovet ©   (2012-06-16 02:56) [16]

> [4] OPOPO   (16.06.12 01:24)
> Как тогда в играх делают?

Поубивал бы.


 
Давайте будем жрать!   (2012-06-16 09:37) [17]


> Германн ©   (16.06.12 01:28) [6]
частенько помогает win+r taskkill /f /im xxx.exe вслепую :-D но надо помнить имя экзешника


 
robt   (2012-06-16 12:43) [18]


> Как тогда в играх делают?

эта "опция",также как игнор Win включена в directx


 
antonn ©   (2012-06-16 14:59) [19]


> авторы вредоносного ПО считают иначе :)

авторы АТМ считаю тоже иначе :)


 
OPOPO   (2012-06-17 00:27) [20]

Раньше можно было отключить SPI-функцией вроде как.


 
sniknik ©   (2012-06-17 11:52) [21]

> авторы АТМ считаю тоже иначе :)
авторы ПВН опровергают авторов АТМ.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.051 c
15-1350458373
TUser
2012-10-17 11:19
2013.03.22
В МИФИ завелась кафедра теологии


15-1341906962
DevilDevil
2012-07-10 11:56
2013.03.22
Помогите алгоритмом. Разбиение упорядоченных чисел


2-1331031997
Scott Storch
2012-03-06 15:06
2013.03.22
приводить к типу DWORD


15-1333225802
Юрий
2012-04-01 00:30
2013.03.22
С днем рождения ! 1 апреля 2012 воскресенье


15-1342992635
Pavlik
2012-07-23 01:30
2013.03.22
Посоветуйте цену