Форум: "Система";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
ВнизБлокировка и разблокировка мыши Найти похожие ветки
← →
Serg2 (2001-09-20 11:44) [0]Всем здравствуйте.
Есть такой вопрос как впрограмме сидящей в трее заблокировать мышь в системе а по каколмуто условию разблокировать.
Я втречпл через функции rundll32 но толька блокировка а как разблокировать?
С уважением Serg2
← →
DarkUser (2001-09-20 16:07) [1]Хмм... ( робко так ) а если попробовать хватать все сообщения от мыша захватами (Hook) а потом ни кому не отдовать.
...вдруг поможет
← →
Polevi (2001-09-20 16:43) [2]Mouse.Active:=false
← →
aus (2001-09-21 13:26) [3]А еще хороший метод Computer.Enabled := false.
>Polevi
Добавь в свою библиотеку.
:)
← →
This is Knight (2001-09-21 16:47) [4]Было же уже шде-то на Ассемблере!!!
← →
AlkoCola (2001-09-22 13:51) [5]Пиши на мыло, дам исходник
← →
AlkoCola (2001-09-22 13:52) [6]Пиши на мыло, дам исходник
← →
Olgerd (2001-09-23 02:34) [7]Например, ClipCursor(0,0,0,0) - там немного не так, но идея, я думаю ясна.
← →
Саша (2001-09-23 23:52) [8]Пиши на мыло... Дам исходник.
← →
docent (2001-12-19 15:18) [9]например вот так
int ShowCursor(
BOOL bShow // cursor visibility flag
);
← →
Victor (2001-12-21 05:51) [10]Можно просто заблокировать её (мышь) в определённом месте для этого пишем на таймер SetCursorPos(100,100);
← →
Delphimun (2001-12-21 17:01) [11]uses windows;
var
a: boolean;
begin
repeat
setcursorpos(1000,1000);
until a;
end.
Можно и по таймеру.
← →
Xpdeveloper (2001-12-22 07:17) [12]все подумали как отключить мышь
теперь - как ее из трэя включить?
Короче, в жизни так мало радости, что надо курсоры отключать.
Лучше его скрыть и все, зачем юзверя до мокрых штанов доводить?
Тут начитаешься - кому надо экран затемнить, кому курсор замочить.
Враги.
← →
Milz (2001-12-24 10:09) [13]Согласен. По-моему единственный выход поставить глобальный хук, который будет блокировать события от мыши для всех процессов/окон кроме некоторых системных (того-же трея) и своей программы. Примеров много.
← →
Snake2000 (2001-12-24 12:27) [14]Все гораздо порще..... Для начала берутся ножницы...
← →
FFFF (2001-12-24 12:38) [15]Можно попробовать через DirectInput
← →
FFFF (2001-12-24 12:40) [16]lpdiDevice->SetCooperativeLevel(hwnd,DISCL_EXCLUSIVE | DISCL_FOREGROUND )
← →
yar (2002-02-07 13:56) [17]не помню вот как я делал в win9x, а под nt/2000 - BlockInput(что-то там).
подробнее см. msdn
← →
BlankAlex (2002-02-07 14:06) [18]сходи на http://www.delphibest.narod.ru/pakosty.html
← →
Zmey (2002-02-08 18:16) [19]можно через BlockInput(enable:boolean)
а можно и через rundll disablemouse или что - то вроде того
← →
Tosov (2002-02-10 17:45) [20]Zmey
Читай вопрос:
> Я втречпл через функции rundll32 но толька блокировка а как разблокировать?
А как разблокировать то?
← →
Pat (2002-02-10 19:00) [21]>А как разблокировать то?
Да никак!!! Rundll только блокирует мышь и клаву, поможет только перезагрузка....
← →
Pat (2002-02-10 19:50) [22]Что-то ни один толковый ответ не видел...
Блокирует клаву и мышь, снимается при C+A+D, но это уже совсем другая история :-))
procedure BlockInput(a:boolean);stdcall; external "user32.dll";
.........
blockinput(true) - блокирует
blockinput(false) - разблокирует
← →
Victor (2002-02-11 08:29) [23]SetCursorPos(1000,1000);
В таймере
← →
Pat (2002-02-11 18:49) [24]>Victor
Кривее способа не видел....Вначале пробовать надо, а потом советовать...тем более повтор.
← →
Polygon (2002-02-16 21:33) [25]BlockInput хорошая вещь. Но как быть если если нужно заблокировать мышь(и клаву) в проге используещей DInput? Все эти хуки и BloсkInput`s не работают в этом случае.
← →
Pat (2002-02-17 00:58) [26]>Polygon
Написать свой драйвер :-))
← →
Polygon (2002-02-17 12:44) [27]К сожелению DDK для меня пока сложен. А есть другой способ ?
← →
[NIKEL] (2002-02-17 13:32) [28]выполнять через банальный winexec(Pchar("команда"),sw_Show);
"rundll32 keyboard,disable" - Заблокировать Клавиатуру
"rundll32 mouse,disable" - Запретить мышку
поменяй на enabled будет всё наоборот :)
и еще...
"rundll32 shell32,Control_RunDLL" - Запустить Панель Управления
"rundll32 shell32,OpenAs_RunDLL" - Открыть диалог "Открыть Как ..." ("Open With...")
"rundll32 shell32,ShellAboutA Info-Box" - Открыть "About Window Window"
"rundll32 shell32,Control_RunDLL desk.cpl" - Открыть диалог "Свойства: Экран" (Display Properties)
"rundll32 user,cascadechildwindows" - Выстроить все окна каскадно
"rundll32 user,tilechildwindows" - Свернуть все окна
"rundll32 user,repaintscreen" - Обновить Десктоп
"rundll32 shell,shellexecute Explorer" - Перезапустить Проводник
"rundll32 user,swapmousebutton" - Поменять кнопки мыши
"rundll32 user,setcursorpos" - Установить Курсор в позицию (0,0)
"rundll32 user,wnetconnectdialog" - Показать диалог "Подключить сетевой диск" ("Map Network Drive")
"rundll32 user,wnetdisconnectdialog" - Показать диалог "Отключить сетевой диск" ("Disconnect Network Disk")
"rundll32 user,disableoemlayer" - Отобразить окно BSOD ("""(BSOD) = Blue Screen Of Death """)
"rundll32 diskcopy,DiskCopyRunDll" - Показать диалог копирования диска
"rundll32 rnaui.dll,RnaWizard" - Запустить "Internet Connection Wizard"
"rundll32 shell32,SHFormatDrive" - Запустить окно форматирования дискеты ("Format Disk (A)")
"rundll32 shell32,SHExitWindowsEx -1" - "Холодный" перезапуск Проводника
"rundll32 shell32,SHExitWindowsEx 1" - Выключить компьютер
"rundll32 shell32,SHExitWindowsEx 0" - Завершить сеанс текущего пользователя
"rundll32 shell32,SHExitWindowsEx 2" Быстрый перезапуск Windows9x
"rundll32 krnl386.exe,exitkernel" - Выход из Windows 9x без потверждения
"rundll rnaui.dll,RnaDial "MyConnect" - Запустить диалог "Net Connection"
"rundll32 msprint2.dll,RUNDLL_PrintTestPage" - Выбор и печать тестовой страницы текущего принтера
"rundll32 user,setcaretblinktime" - Усатновить скорость мигания курсора
"rundll32 user, setdoubleclicktime" - Установить скорость двойного нажатия
"rundll32 sysdm.cpl,InstallDevice_Rundll" - Поиск устройств не PnP.
← →
Polygon (2002-02-17 17:58) [29]To Nikel. Все это очень интересно но это все работает на уровне сообщений (т.е. блокирует сообщения, формируемые User32) с DInput это эффекта не принесет.
Поправте если не так: Железо(клава, мышь)>VXD>DInput.
← →
Polygon (2002-02-17 18:31) [30]To All. Насколько я понял из DDK VXD как и DLL экспортирует функции. Можно ли обратиться к драйверу мыши и каким-то образом заблокировать ввод или (что еще лучше в случае с клавиатурой) фильтровать ввод
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.006 c