Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сложный вопрос...


BAHO ©   (2002-02-24 07:10:00) 

Здравствуйте мастера...
Подскажите пожалуйста как в NT подобных операционных системах
в частности в XP полностью отключить клавиотуру и мышку...
Но чтобы можно было включить...


VuDZ   (2002-02-26 13:38:00) [1]

The system will unblock input in the following cases:

The thread that blocked input unexpectedly exits without calling BlockInput with fBlock set to FALSE. In this case, the system cleans up properly and re-enables input.
Windows 95/98/Me: The system displays the Close Program/Fault dialog box. This can occur if the thread faults or if the user presses CTRL+ALT+DEL.
Windows 2000 or later: The user presses CTRL+ALT+DEL or the system invokes the Hard System Error modal message box (for example, when a program faults or a device fails).


Севостьянов Игорь   (2002-02-26 12:09:00) [2]

>>Anonymous сам ты фильтр...

Вот простейшее решение опробовано под Win2000

{Button1 on Form1 - disable mouse and
keyboard for 5 seconds}

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
xBlockInput : function(Block: BOOL):
BOOL; stdcall;

begin
if FuncAvail
("USER32.DLL", "BlockInput", @xBlockInput) then
begin
xBlockInput(true);
Sleep(5000);
xBlockInput(false);
end;
end;


Anonymous   (2002-02-25 01:33:00) [3]

Да ладно - никак. Делаешь фильтр-драйвер для того и для другого. Примеры есть в DDK. Только это уже не Delphi.


Tosov   (2002-02-24 17:23:00) [4]

Методом выдергивания провода :) иначе практически никак.


Наверх

Титульная страница Поиск, карта сайта Написать письмо