Как отключить мышь, и что еще можно делать по укурке?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Как отключить мышь, и что еще можно делать по укурке?

Сообщение Khachkara » 07.04.2009 (Вт) 9:50

Скажите пожалуйста какая команда отключает мышь
Мне нужно через раз отдать управление мыши к клавиатуре и обратно.
Спасибо
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: как отключить мышь

Сообщение awl100Alex » 07.04.2009 (Вт) 11:18

Скажите пожалуйста какая команда отключает мышь

Нет такой команды, а есть хуки.
...через раз отдать управление мыши к клавиатуре и обратно...

Это как??? Поясни...
Последний раз редактировалось awl100Alex 08.04.2009 (Ср) 20:03, всего редактировалось 1 раз.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: как отключить мышь

Сообщение Khachkara » 07.04.2009 (Вт) 11:35

представьте игру XO
когда ход у X мышь активна и ты ты можешь выбрать любой квадрат и кликнуть, а после клика мышь отключаеться и управление переводиться клавиатуре и при нажатии соответсвующей клавыши ставится O
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: как отключить мышь

Сообщение RayShade » 07.04.2009 (Вт) 11:42

По моему, это нафиг не нужно. Игра походовая, так что все едино, через что ставить Х и О :)
I don't understand. Sorry.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: как отключить мышь

Сообщение Khachkara » 07.04.2009 (Вт) 11:45

В принципе да, это когда ты крутой программист тогда может быть.
А для начунающего интересно лазит по всем щелочкам и испробовать все возможности программирования, короче по випендриваться охота, заодно и обучение. :D
Но всё равно спасибо за совет :D
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: как отключить мышь

Сообщение awl100Alex » 07.04.2009 (Вт) 12:02

Khachkara писал(а):...когда ход у X мышь активна и ты ты можешь выбрать любой квадрат и кликнуть, а после клика мышь отключаеться...

Я так думаю, что хуки здесь не нужны. Для блокировки мышки используй в самой проге просто флаги.
Вот как пример...
Вложения
Project.rar
Игра...
(1.33 Кб) Скачиваний: 60

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: как отключить мышь

Сообщение Khachkara » 07.04.2009 (Вт) 12:15

awl100Alex писал(а):Для блокировки мышки используй в самой проге просто флаги

спасибо большое, но я знаю этот способ и мне не очень интересно так поступать, хочеться чтобы одной командой отключить и включить мышь.
Такая команда наверняка есть.
Вот если бы кто то помог разобратся в объектах VB тогда у меня может быть и получиться :D
http://msdn.microsoft.com/ru-ru/library/eht682b5.aspx#

P.S. В вашем случии все объекти которые находяться в форме надо перевести в .enable=False чтобы получить эффект отключения и включения мыши.
Можно конечно написать функцию которая это делала но мне надо отключить именно мышь :D
Последний раз редактировалось Khachkara 07.04.2009 (Вт) 12:19, всего редактировалось 1 раз.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: как отключить мышь

Сообщение awl100Alex » 07.04.2009 (Вт) 12:19

My.Computer.Mouse - не отключит... и врядли ты найдешь в VB такую команду.
Последний раз редактировалось awl100Alex 08.04.2009 (Ср) 20:04, всего редактировалось 1 раз.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: как отключить мышь

Сообщение Khachkara » 07.04.2009 (Вт) 12:22

если не найду то это означит что я очень сильно разочаруюсь в VB
Но будем искать :D
Находит тот кто ищет :D
По любому большое спасибо.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: как отключить мышь

Сообщение iGrok » 07.04.2009 (Вт) 12:54

Что значит "отключить мышь"? Сделать так, чтобы курсор не двигался? Сделать так, чтобы его не было видно? Сделать так, чтобы окно не реагировало на движения и нажатия кнопок мыши?

Если первое - считай никак.
Если второе - ShowCursor(0/1) - Но, честно говоря, это будет очень странный интерфейс. Я бы, как пользователь, убил такого программиста.
Если третье - просто сделай переменную-флаг "чей сейчас ход", и в зависимости от неё обрабатывай или не обрабатывай действия мыши и клавиатуры.

А отключать ничего не надо. Это плохо.
label:
cli
jmp label

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: как отключить мышь

Сообщение Khachkara » 07.04.2009 (Вт) 13:11

я изучаю возможности VB просто ради этого
Отключить это значит, что бы сделать его невидимым и не дееспособным
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: как отключить мышь

Сообщение Debugger » 07.04.2009 (Вт) 13:24

Можно попробовать поиграться с ClipCursor и с SetCursorPos (в цикле). В комбинации с ShowCursow SW_HIDE.

GDK
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 23.10.2008 (Чт) 16:15

Re: как отключить мышь

Сообщение GDK » 07.04.2009 (Вт) 13:37

Попробуй почитать про API-функции. Там вроде есть белее/менее простая ф-ция чисто для откл./вкл. мышки.

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: как отключить мышь

Сообщение Khachkara » 07.04.2009 (Вт) 13:40

примерчик маленький можно?
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: как отключить мышь

Сообщение awl100Alex » 07.04.2009 (Вт) 13:45

Debugger
ClipCursor - снимается по нажатию Ctrl+Alt+Del. :( Так что ее можно не использовать. А в отношении других функций... так они не отключают реакцию объекта на события клика.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: как отключить мышь

Сообщение iGrok » 07.04.2009 (Вт) 14:02

Khachkara писал(а):я изучаю возможности VB просто ради этого
Отключить это значит, что бы сделать его невидимым и не дееспособным

ShowCursor ( 0 / 1 )
Код: Выделить всё
Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
Public Sub ShowMouse()
    ShowCursor 1
End Sub
Public Sub HideMouse()
    ShowCursor 0
End Sub

И в окне твоей проги курсора мыши нету.
Плюс отключай реакцию окна на курсор по флагу в своих же обработчиках.

Отключить его для всей ОС нельзя. Да и необходимости такой у тебя нету.
Отключить его полностью для одного окна (чтобы не было ни картинки, ни реакции) одной командой - тоже нельзя.
Последний раз редактировалось iGrok 07.04.2009 (Вт) 14:18, всего редактировалось 1 раз.
label:
cli
jmp label

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: как отключить мышь

Сообщение awl100Alex » 07.04.2009 (Вт) 14:07

Khachkara писал(а):Отключить это значит, что бы сделать его невидимым и не дееспособным

Не дееспособным в отношении всей системы, что-ли или только твоего окна???
iGrok писал(а):Отключить его для всей ОС нельзя.

Можно! Глобальным хуком на WH_MOUSE.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: как отключить мышь

Сообщение iGrok » 07.04.2009 (Вт) 14:20

awl100Alex писал(а):Можно! Глобальным хуком на WH_MOUSE.

О да.. Гениально..

Можно вообще выдернуть мышь из системника. Так оно надёжнее будет.
label:
cli
jmp label

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: как отключить мышь

Сообщение Khachkara » 08.04.2009 (Ср) 9:00

iGrok писал(а):Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
Public Sub ShowMouse()
ShowCursor 1
End Sub
Public Sub HideMouse()
ShowCursor 0
End Sub

Спасибо получилось!
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: как отключить мышь

Сообщение iGrok » 08.04.2009 (Ср) 9:54

Khachkara писал(а):Спасибо получилось!

Только учитывай, что курсор просто скрыт, а на самом деле мышь работает. Т.е. если подвести её примерно к середине формы и нажать кнопку мышь, событие произойдёт.
label:
cli
jmp label

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить мышь, и что еще можно делать по укурке?

Сообщение Khachkara » 08.04.2009 (Ср) 15:43

да я это сразу заметил.
но все равно это больше чем ничего.
А чтобы она перестала работать, никак не получиться.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить мышь, и что еще можно делать по укурке?

Сообщение Хакер » 08.04.2009 (Ср) 17:14

Лучше ничего, чем это.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как отключить мышь, и что еще можно делать по укурке?

Сообщение iGrok » 08.04.2009 (Ср) 18:57

Khachkara писал(а):но все равно это больше чем ничего.

Лучше действительно "ничего", чем это. Нафига скрывать мышь? Если так - эксперимента ради - то пожалуйста. Если ты реально хочешь это использовать в интерфейсе реально программы - лучше сразу сам себе оторви руки.

З.Ы. Как можно по-человечески реализовать твою идею было написано несколько выше - сделать так, чтобы элементы управления на форме просто не реагировали на мышь. Т.е. проверять в обработчиках чей сейчас ход.

З.З.Ы. А скрывать курсор - это плохо. Почему? К примеру, попробуй в момент хода "клавиатуры" (когда скрыт курсор) закрыть окно программы. Или(ещё лучше) переместить его в другой угол экрана.
label:
cli
jmp label

[LEV&n]
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 113
Зарегистрирован: 17.10.2007 (Ср) 22:23
Откуда: Мариуполь

Re: как отключить мышь

Сообщение [LEV&n] » 08.04.2009 (Ср) 19:47

Khachkara писал(а):если не найду то это означит что я очень сильно разочаруюсь в VB
Но будем искать :D
Находит тот кто ищет :D
По любому большое спасибо.


Ммм... конфигурация мыши находится в BIOS, т.е. если мы отключаем мышь, то на протяжении всей сессии мы не сможем получить к ней доступ, поэтому рекомендую некий show/hide мыши, причём целеком искусственным методом. Т.е прозрачный курсор и пару переменных, которые реагируют на мышь или не реагируют на неё. Жду корректив от Хакера, мои идеи никогда не приводили его в восторг.
Если исключить из всех производственных звеньев дураков, то актуальность обсуждения продуктов их жизнедеятельности (дороги, пр-во и т.п.) исчезнет сама по себе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить мышь, и что еще можно делать по укурке?

Сообщение Хакер » 08.04.2009 (Ср) 19:53

... и этот раз — не исключение :(
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

[LEV&n]
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 113
Зарегистрирован: 17.10.2007 (Ср) 22:23
Откуда: Мариуполь

Re: Как отключить мышь, и что еще можно делать по укурке?

Сообщение [LEV&n] » 08.04.2009 (Ср) 20:20

Хакер писал(а):... и этот раз — не исключение :(


Ничего не поделаешь, у Вас учимся, затем своих братьев меньших опускаем. После настаёт время, когда методы дедов становятся не прогрессивными и они, как все смертные отчаиваются, ждите своего часа. Билл Гейтс тоже не вечен.
Если исключить из всех производственных звеньев дураков, то актуальность обсуждения продуктов их жизнедеятельности (дороги, пр-во и т.п.) исчезнет сама по себе.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как отключить мышь, и что еще можно делать по укурке?

Сообщение awl100Alex » 08.04.2009 (Ср) 20:56

Khachkara писал(а):А чтобы она перестала работать, никак не получиться.

Получится! :)

Вот написал специально для тебя Native DLL на PowerBasic, которая ставит глобальный хук мышки и отключает её для всей системы. Если быть точным, то - отключает реакцию всей системы на события мышки. В приложении исходник и сама DLL-ка с примером использования. В библиотеке только(!) реализация Hook’a и больше ничего лишнего. Можешь не боятся её использовать. :)
Вложения
MouseHook.rar
MouseBlock Native DLL
(7.39 Кб) Скачиваний: 56

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как отключить мышь, и что еще можно делать по укурке?

Сообщение iGrok » 08.04.2009 (Ср) 21:10

awl100Alex писал(а):Получится! :)

А ты всё-таки маг, алхимик, и адепт чёрной магии...
label:
cli
jmp label

Khachkara
Выключатель
Выключатель
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 06.04.2009 (Пн) 9:31

Re: Как отключить мышь, и что еще можно делать по укурке?

Сообщение Khachkara » 09.04.2009 (Чт) 8:25

awl100Alex писал(а):Получится! :)
Вот написал специально для тебя Native DLL на PowerBasic, которая ставит глобальный хук мышки и отключает её для всей системы. Если быть точным, то - отключает реакцию всей системы на события мышки. В приложении исходник и сама DLL-ка с примером использования. В библиотеке только(!) реализация Hook’a и больше ничего лишнего. Можешь не боятся её использовать. :)

Спасибо awl100Alex огромное. Я теперь знаю на кого ровняться, считаю вас истинным авторитетом. Сделали дело без лишнего трепа.
Я, как и вы, считаю, что нет смысла в приложении отключать мышь, я просто хотел убедиться, что в VB можно всё.
P.S. Вообще у меня много таких не стандартных задумок, но учитывая то как накалилась обстановка из-за простого отключения мыши я решил воздержаться от таких идей как отключения клавиатуры, разделение экрана на 4 части и т.д
ГОСПОДА надо делать дело, а не трепаться. Учитесь у awl100Alex.
СПАСИБО всем тема закрыта, все свободны.
Я новичок в VB, к тому же еще самоучка, прошу сильно не ругать.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как отключить мышь, и что еще можно делать по укурке?

Сообщение Хакер » 09.04.2009 (Чт) 13:06

ГОСПОДА надо делать дело, а не трепаться.

Надо. С одной лишь оговоркой: если это дело — правильное, хорошее, нужное, законное.

Учитесь у awl100Alex.

Чему нам учиться у этого двоечника? Учиться делать с горящими глазами любое дело, не задумываясь, а надо ли, а правильно ли?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 57

    TopList  
cron