Есть ли способ полностью заблокировать ввод клавиатуры? Это также должно блокировать ключевые комбо вроде WIN + E.Блок ввода клавиатуры полностью
Я нашел этот код, есть в любом случае, чтобы изменить его, чтобы блокировать только ввод с клавиатуры (мышь должна работать)
procedure TForm1.Button1Click(Sender: TObject) ;
function FuncAvail(dllName, funcName: string; var p: pointer): boolean;
var
lib: THandle;
begin
result := false;
p := nil;
if LoadLibrary(PChar(dllName)) = 0 then exit;
lib := GetModuleHandle(PChar(dllName)) ;
if lib <> 0 then
begin
p := GetProcAddress(lib, PChar(funcName)) ;
if p <> nil then Result := true;
end;
end;
var
BlockInput : function(Block: BOOL): BOOL; stdcall;
begin
if FuncAvail('USER32.DLL', 'BlockInput', @BlockInput) then
begin
ShowMessage('Your Mouse and Keyboard will be blocked for 5 seconds!') ;
BlockInput(true) ;
Sleep(5000) ;
BlockInput(false) ;
end;
end;
end.
ли этот код работать с WIN ключей и т.д.?
Спасибо!
'BlockInput' блокирует все входные данные пользователя, вы не можете блокировать клавиатуру. Почему вы пытаетесь это сделать? Возможно, мы сможем найти альтернативу. – Polynomial
Привет, мне нужно это для своего рода Kiosk-App, взаимодействие с экраном будет выполняться только с помощью мыши. Я не хочу, чтобы был какой-то способ обойти это, например, нажать WIN + E и открыть проводник. – user990767
http://stackoverflow.com/questions/3236233/how-to-create-a-kiosk-like-ui-so-that-the-user-can-never-exit-from-it-or-switch –