Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизКак отключить 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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.074 c