Delphi 윈도우즈 키 비활성화
1307 단어 windows
type
tagKBDLLHOOKSTRUCT = packed record
vkCode: DWORD;
scanCode: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: Pointer;
end;
KBDLLHOOKSTRUCT = tagKBDLLHOOKSTRUCT;
PKBDLLHOOKSTRUCT = ^KBDLLHOOKSTRUCT;
const
WH_KEYBOARD_LL = 13;
WH_MOUSE_LL = 14;
var
keyHookHandle: THandle;
function KeyHookProc(Code: integer; wParam: WPARAM; lParam: LPARAM): LRESULT;
stdcall;
var
p: PKBDLLHOOKSTRUCT;
bBlock: Boolean;
begin
bBlock := False;
if Code = HC_ACTION then begin
case wParam of
WM_KEYDOWN, WM_SYSKEYDOWN, WM_KEYUP, WM_SYSKEYUP: begin
p := PKBDLLHOOKSTRUCT(lParam);
if(p^.vkCode = VK_LWIN) or (p^.vkCode = VK_RWIN) then bBlock := True;
if(p^.vkCode = VK_CONTROL) or (p^.vkCode = VK_ESCAPE) then bBlock := True;
if(p^.vkCode = VK_MENU) or (p^.vkCode = VK_TAB) then bBlock := True;
end;
else begin
bBlock := False;
end;
end;
end;
if bBlock = False then
Result := CallNextHookEx(keyHookHandle, Code, wParam, lParam)
else
Result := 1
end;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
제한된 크기의 디렉토리를 만드는 방법오늘 저는 장치에 공간이 없을 때 백업 중에 응용 프로그램이 어떻게 작동하는지 테스트(및 수정)하는 작업이 있습니다. 결과적으로 "남은 공간 없음"오류로 백업이 실패하면 새 파일이 없어야 합니다. 지금까지 문제를 재...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.