Форум: "WinAPI";
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];
ВнизБлокировка сочетаний типа Win+M и т.п. Найти похожие ветки
← →
Holms (2001-12-04 22:32) [2]Вот код на С,(Alt+Esc, Ctrl+Esc, and Alt+Tab are now not working) если очень будет надо переведешь и снабдишь для своих целей.
#define _WIN32_WINNT 0x0400
#include <Windows.h>
#include<conio.h>
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
///////////////////////////////////////////////////////////////////////////////
LRESULT CALLBACK LowLevelKeyboardProc(int nCode,
WPARAM wParam, LPARAM lParam) {
BOOL fEatKeystroke = FALSE;
if (nCode == HC_ACTION) {
switch (wParam) {
case WM_KEYDOWN: case WM_SYSKEYDOWN:
case WM_KEYUP: case WM_SYSKEYUP:
PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam;
fEatKeystroke =
( (p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0) ) ||
( (p->vkCode == VK_ESCAPE) && ((p->flags & LLKHF_ALTDOWN) != 0) ) ||
( (p->vkCode == VK_ESCAPE) && ((GetKeyState(VK_CONTROL) & 0x8000) != 0) )||
( (p->vkCode == 46) && ( (p->flags & LLKHF_ALTDOWN) != 0 ) &&
( (GetKeyState(VK_CONTROL) & 0x8000) != 0));
//its possible to add other keys....
//the 46 means del
break;
}
}
return(fEatKeystroke ? 1 : CallNextHookEx(NULL, nCode, wParam, lParam));
}
typedef int (__stdcall * pFunc)();
///////////////////////////////////////////////////////////////////////////////
int WINAPI WinMain(HINSTANCE hinstExe, HINSTANCE, PTSTR pszCmdLine, int) {
// Install the low-level keyboard & mouse hooks
HHOOK hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL,
(pFunc)LowLevelKeyboardProc, hinstExe, 0);
// Keep this app running until we"re told to stop
MessageBox(NULL,
TEXT("Alt+Esc, Ctrl+Esc, and Alt+Tab are now not working.\n"),
TEXT("Disable Low-Level Keys"), MB_OK);
UnhookWindowsHookEx(hhkLowLevelKybd);
return(0);
}
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c