Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Управление курсорам мыши, Скорость курсора 
V
    Опции темы
Kirill89
Дата 28.1.2007, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



В windows в настройках есть параметр скорость курсора мыши, как узнать его текущее состояние и как его поменять?


--------------------
PM MAIL WWW   Вверх
Akina
Дата 29.1.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Вычитать или изменить через WMI. Читай описание Win32_ классов...

Простого способа нет.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Kirill89
Дата 30.1.2007, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Цитата(Akina @ 29.1.2007,  10:49)
Вычитать или изменить через WMI. Читай описание Win32_ классов...

Простого способа нет.

Предположим, возможно можно написать свой алгоритм, который замедлит мышь? Если есть идеи по этому поводу... Мне так даже лучше)
А вот если других, более лёгких, вариантов нет:
ЧТо такое WML? Как с этим работать? Где взять описание Win32_ классов?


--------------------
PM MAIL WWW   Вверх
Кирилл
Дата 30.1.2007, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.11.2006
Где: Воронеж

Репутация: 1
Всего: 1



 smile Есть идея:
1) На MousMove повесить перемещение объекта, который будет заменять курсор
2) При приближении реального курсора к границе экрана, кидать его в центр
Конечно реальный курсор лучше убрать.
PM MAIL   Вверх
Kirill89
Дата 30.1.2007, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Цитата(Кирилл @ 30.1.2007,  16:01)
smile Есть идея:
1) На MousMove повесить перемещение объекта, который будет заменять курсор
2) При приближении реального курсора к границе экрана, кидать его в центр
Конечно реальный курсор лучше убрать.

Да, идея неплохая, но "лже курсор" не будет работать с windows - приложениями...
Мне всё-же хотелость бы примера, как работать со стандартными средствами...


--------------------
PM MAIL WWW   Вверх
Akina
Дата 31.1.2007, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



WMI == Windows Management Instrumentation - офигенный раздел в MSDN.

К счастью, поиск рулит. Особенно если либа поставлена локально.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Kirill89
Дата 31.1.2007, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Цитата(Akina @  31.1.2007,  10:07 Найти цитируемый пост)
Особенно если либа поставлена локально.

Ага, я этим похвастаться не могу...  smile 

Ладно, я тогда думать буду, пожалуйста, если у кого будут идеи, пишите! Мне очень нужна эта опция! Напоминаю, вопрос был в том, как через средства windows замедлить скорость передвижения курсора по экрану.
Заранее благодарю.


--------------------
PM MAIL WWW   Вверх
Kirill89
Дата 2.2.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Я везде искал ответ, и ..... увы ничего...
У меня появилась бредовая идея, подскажите, это реально осуществить:
Сделать вставку на ассемблере которая меняет параметр дравера мыши в оперативной памяти  smile 
Звучит жудковато...  smile 


--------------------
PM MAIL WWW   Вверх
bom
Дата 2.2.2007, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Копай АПИ SystemParametersInfo
Вот код на С++
Там чувствительность и есть скорость. Значение (от1 до 20) хранится в строке MouseSensitivity, HKEY_CURRENT_USER\Control Panel\Mouse.
Можно поменять параметр в реестре, но для применения необходима перезагрузка Винды. Поэтому лучше через SystemParametersInfo.

ЗЫ. Не забудь показать код VB, когда решишь задачу, ибо интересно  smile 
PM MAIL   Вверх
Kirill89
Дата 2.2.2007, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Большое спасибо! Мне на С++ тоже должен подойти... Попробую тогда работать через параметр, отсылаемый программе на С, которая устанавливает этот параметр в качастве скорости мыши.
Буду надеятся, что получится.
Конечно было-бы проще сделать вставку C++ в VB. Есть такая возможность?
В кончном итоге переписать код на С в код на VB сложновато, но я попытаюсь...
Кто может что-либо предложить, буду только рад.  smile 


--------------------
PM MAIL WWW   Вверх
Kirill89
Дата 9.2.2007, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Так, народ, этот код на С++ непашет вообще! я его перелопатил в доль и поперёк!  smile  что делать!? как скорость поменять?! ведь при работе windows скорость меняется сразу после передвижения переключателя скорости, значит всё-таки можно?!  smile 


--------------------
PM MAIL WWW   Вверх
Akina
Дата 9.2.2007, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



bom прав:

Цитата(MSDN)
An application uses a MOUSEKEYS structure when calling the SystemParametersInfo function with the uiAction parameter set to the SPI_GETMOUSEKEYS or SPI_SETMOUSEKEYS value.


Или поищи в MSDN в Technical Articles статью "Programming Mouse and Keyboard with DirectInput 3.0"



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Kirill89
Дата 9.2.2007, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Да, bom действительно прав, но только почему код на С++ не работает?! Я его ещё немного пошерстил, пишет скорость =1 потом указываю новое значение пишет скорость = , ну скажем , 10... только ничего не меняется...


--------------------
PM MAIL WWW   Вверх
Kirill89
Дата 9.2.2007, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Хорошо, у меня есть ещё идея: можно через реестор, а потом его обновить. Я слышал, что как-то можно через rundl32 обновить (через параметр)... никто незнает как?


--------------------
PM MAIL WWW   Вверх
Kirill89
Дата 11.2.2007, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Всё! Получилось! Всем, кто помогал - большое спасибо!
Публикую что и как:
Модуль:
Код

Public Declare Function SystemParametersInfo Lib "user32" Alias _
    "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, _
    ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long

Для чтения текущего значения скорости:
Код

Dim Speed As Long
SystemParametersInfo 112, 0, Speed, 0
Print "Speed = " & Speed

Для установки нового значения скорости:
Код

Dim Speed As Long
Speed = t.Text ' новое значение
SystemParametersInfo 113, 0, ByVal Speed, 0 '112 - get ' 113 - set
Print "New speed = " & Speed



--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0581 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.