|
Модераторы: diadiavova, gambit |
|
SergeiEx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 2.9.2008 Репутация: нет Всего: нет |
Добрый день! Хочу написать программу по управлению громкостью с помощью мыши. Задача заключается в том, что нужно увеличить громкость, если прокрутить колесо мыши вверх и убавить, если прокрутить вниз, и все это при условии что в этот момент нажата правая кнопка мыши, т.е. зажал кнопку и регулируешь громкость. Все вроде сделал, но осталась одна загвоздка, при отжатии правой кнопки появляется контекстное меню. Так вот, можно ли программно перехватить правую кнопку мыши при ее нажатии и в случае если колесо мыши не двигалось все же программно нажать правую кнопку мыши. Если быть яснее, то при нажатии и отпускании программа должна перехватить событие, а потом отослать его активному окну, как обычный клик, а если при нажатии правой кнопки прокрутить колесо, то программа должна перехватить событие, отрегулировать громкость и активному окну ничего не передавать.
Вроде все объяснил. Заранее спасибо. |
|||
|
||||
diadiavova |
|
|||
Доктор Зло(диагност, настоящий, с лицензией и полномочиями) Профиль Группа: Модератор Сообщений: 5820 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Описывать долго и непонятно, поэтому я тебе примерчик высылаю. Здесь просто форма, внизу прогрессбар. Если прокрутить колесо вперёд при нажатой правой кнопке, на прогрессбаре значение увеличивается, назад - уменьшается. Всё как ты описал, только вместо громкости - прогрессбар. Пример простой, так что разберёшься. Высылаю полностью папку с проектом.
Присоединённый файл ( Кол-во скачиваний: 39 ) WindowsApplication2.zip 66,02 Kb -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
SergeiEx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 2.9.2008 Репутация: нет Всего: нет |
Спасибо за ответ, но это немного не то. Наверное я не совсем понятно высказался. Дело в том что мне нужно чтоб программа работала с любого места в любой посторонней программе, а данный пример работает только со своим окном.
В интернете нашел функцию "SetWindowsHookEx", но как ее запустить я так и не понял. Может кто подскажет?!? |
|||
|
||||
diadiavova |
|
|||
Доктор Зло(диагност, настоящий, с лицензией и полномочиями) Профиль Группа: Модератор Сообщений: 5820 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Вот здесь пример использования этой функции. Правда на C#.
А вообще по-моему в .Net Framework 3 пространство System.Windows.Automation как раз такими штуками занимается, но я в нём ещё не разбирался. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
SergeiEx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 2.9.2008 Репутация: нет Всего: нет |
За ссылку спасибо. Немного разъяснилось, оказывается функцию я использовал правильно, вот только не знал я, что ГЛОБАЛЬНЫЕ ловушки с программы (exe файла) не работают их нужно с DLL вытягивать, который нужно сначала написать, а VB .Net DLL'ки не пишет
|
|||
|
||||
diadiavova |
|
|||
Доктор Зло(диагност, настоящий, с лицензией и полномочиями) Профиль Группа: Модератор Сообщений: 5820 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
На счёт DLL'ок не понял, а функции импортируются так
после этого вызывай её и пользуйся на здоровье. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
SergeiEx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 2.9.2008 Репутация: нет Всего: нет |
Ну это я понял, именно так я их и импортиролвал но она не работала, дело в том, что
|
|||
|
||||
Правила форума VB .NET | |
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |