Как заставить мышь в Windows 7 действовать так же, как Windows XP

20

В Windows XP с использованием TweakUI я мог включить опцию, чтобы при наведении курсора мыши на неактивное окно оно становилось активным. Существует также другая отдельная опция, так что если окно становится активным, оно автоматически становится самым верхним окном.

Мне нравится включать первое, но не второе.

Для Windows 7 я не смог найти то же самое. Вместо этого я нашел вариант внутри окон, который делает нечто подобное. Если я наведу указатель мыши на неактивное окно, мне придется некоторое время навести на него курсор, прежде чем он станет активным. Это не мгновенно. Вторая проблема состоит в том, что, как только он становится активным, он автоматически делает себя самым верхним окном, покрывая другие вещи, которые я не хочу покрывать.

Таким образом, это то, что я хочу в Windows 7:

  1. Когда моя мышь проходит по неактивному окну, она немедленно делает его активным окном.

  2. Когда оно активирует окно, оно не поднимает его над другими окнами.

Phenom
источник

Ответы:

12

Спасибо Фоши за ваш ответ. Поскольку я наткнулся на эту ссылку в поиске Google, я собираюсь заполнить часть отсутствующей здесь информации и дать полное пошаговое руководство для нее:

Чтобы заставить X-mouse работать с Vanilla Windows 7, установите:

  1. Откройте панель управления
  2. Выберите «Простота доступа»
  3. Выберите «Изменить работу мыши»
  4. Установите флажок рядом с «Активировать окно, наведя на него курсор мыши» и нажмите «ОК».
  5. Открыть регедит
  6. Locate HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferenceMask- изменить только первый байт, вам нужно вычесть шестнадцатеричное 40 из значения, которое есть (например, DFстановится 9F) - это отключает автоподнятие при активации
  7. Найти HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWndTrkTimeout- изменить его значение на что-то маленькое. Меньшие значения затруднят использование плавающих временных окон (например, виджета области уведомлений панели задач), поскольку они исчезают из-за чего-то другого, когда вы переходите к ним, но более низкие значения также улучшают отзывчивость. Вы можете начать с 250 мс и настроить его оттуда.
  8. Выйти, войти снова, и вуаля, ...

Шаги 1-4 были упомянуты в вопросе мимоходом, но не перечислены.

Шаги 5-8 - именно то, что сказал Фоши .

Greg
источник
11

Вместо ручного реестра писак , попробуйте использовать системные вызовы из SystemParametersInfo , особенно SPI_GETACTIVEWINDOWTRACKING, SPI_GETACTIVEWNDTRKZORDER, SPI_GETACTIVEWNDTRKTIMEOUT. Использование этих звонков также избавляет вас от необходимости выходить из системы, чтобы применить настройки. Я бы порекомендовал использовать элементы управления X-Mouse , которые их реализуют.

Элементы управления X-Mouse : инструмент для включения или отключения активного отслеживания окна, повышения, а также задержки в миллисекундах. Это известно как поведение x-mouse.

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

Скриншот элементов управления X-Mouse

Джоэл Пурра
источник
2
Спасибо! Минималистский интерфейс GUI, который [1] позволяет изменять без необходимости входа / выхода, [2] не заставляет меня возиться с шестнадцатеричным преобразованием в реестре, и [3] распространяет изменения для удобства центра доступа так что кажется, что он делает вещи "правильно".
Клейтон Стэнли
3

Прямо тогда!
Откройте regedit, и давайте приступим к работе.

+ Изменить

HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferenceMask

в 9F 3E 07 80 12 00 00 00

Тогда поменяй

HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWndTrkTimeout

в 0 (возможно, вам придется переключить тип данных в десятичное).

Затем выйдите из системы, войдите в систему и (надеюсь) наслаждайтесь переключением окон!

Phoshi
источник
Работает, но делает невозможным доступ к скрытым значкам на панели задач. Я щелкаю стрелку, чтобы развернуть список, затем, когда я пытаюсь навести курсор мыши на поле, оно исчезает, прежде чем я его достану.
Phenom
Неважно, я могу получить к нему доступ, я нажимаю на стрелку, а затем нажмите Tab, чтобы активировать его
Phenom
Я думаю, немного неприглядно, но выполнимо. Вы могли бы использовать alt-tab больше, может быть?
Фоши
2

Этот скрипт AutoHotkey делает это. Проверьте первые строки, есть некоторые параметры, которые меняют поведение скрипта:

hover_task_buttons  = 1 ; hover over taskbar button to activate window
  hover_task_group  = 1 ; hover to select (or exit) from a window-group menu
                        ; (for Windows' "Group similar taskbar buttons" feature)
hover_task_min_info = 0 ; only show info for minimized windows, don't activate
hover_start_button  = 1 ; hover over start button to open start menu
hover_min_max       = 1 ; minimize or maximize by hovering over the min/max buttons
hover_any_window    = 0 ; activate any window by hovering (except the taskbar)

hover_no_buttons    = 1 ; ignore hover if a mouse button is in the down state

hover_delay       = 500 ; hover delay, from when the mouse stops moving

; WORKS, BUT NOT PERFECTLY: (brings the window forward, then puts it back in place)
hover_keep_zorder   = 0 ; don't bring windows forward, only activate them

Вас заинтересует последний из перечисленных выше, hover_keep_zorder , с оговоркой о том, что он не работает идеально (хотя у меня он работал нормально).

Не забудьте также установить hover_any_window в 1.

Снарк
источник
Время ожидания голосования становится глупым! Я случайно нажал ^ снова, убирая мое предыдущее голосование, и теперь оно не даст мне повторить голосование!
Фоши
Найти тривиальный пункт для редактирования было сложно,
черт возьми
Работает, но делает невозможным доступ к скрытым значкам на панели задач. Я щелкаю стрелку, чтобы развернуть список, затем, когда я пытаюсь навести курсор мыши на поле, оно исчезает, прежде чем я его достану.
Phenom
Ой, вышеупомянутый комментарий был предназначен для человека с рег хаком. Я попробовал это, и это ничего не сделало.
Phenom
Идеальное решение!
Рам