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

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

Кaк выpубить, а потом снова врубить мышь??? [D5, WinME]


Transnet. ©   (2002-06-14 12:35:00) 

сабж. Очень нaдо!!! HELP!! PLIZ!!!!!


~Rand~   (2002-06-16 09:10:00) [1]

Удалено модератором


VID   (2002-06-14 20:40:00) [2]

TO Doc: Если тобою приведённый пример взят из UBPFD, то хочу тебя проинформить, что этот юнит претерпел обновление... вырезаны некоторые ненужные (с точки зрения задачи) участки.

Причём в данном примере, мышка двигается, но не работают её левый и правый клик.
Полная блокировка мышки и клавы - через BlockInput (тоже есть в UBPFD)

TO SONG: ну что ж... бывает :) зато работает как танк, уж поверь!
Кстати, это не мною написано, я это просто опубликовал.


Song   (2002-06-14 14:02:00) [3]

УЖАС!!!

Нагромождение всего и вся...


DoC   (2002-06-14 13:45:00) [4]

Не понял - просто чтоб не двигалась? или же полностью заблокировать?
Если чтоб не двигалась:
//WG:TRect;
WG:=Rect(0,0,0,0);
ClipCursor(@WG);

а назад:
WG:=Rect(0,0,Screen.Width,Screen.Height);
ClipCursor(@WG);

а если полностью - по аналогии с клавой:

// Dummy : integer=0;
// OldKbHook : HHook=0;

function KbHook( code: Integer; wparam: Word; lparam: LongInt ): LongInt; stdcall;
// Обработчик клавы
begin
if code<0 then Result:=CallNextHookEx( oldKbHook, code, wparam, lparam )
else Result:=1;
end;

// Включение клавы
procedure KeyBoardOn;
begin
if OldKbHook <> 0 then
begin
UnHookWindowshookEx( OldKbHook );
OldKbHook := 0;
end;
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 0, Nil, 0);
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, Nil, 0);
end;

// Выключение клавы
procedure KeyBoardOff;
begin
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);
OldKbHook := SetWindowsHookEx( WH_KEYBOARD, @KbHook, HInstance, 0 );
end;


Наверх

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