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

16133
Phenom

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

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

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

В итоге, это то, что я хочу в Windows 7:

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

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

20

4 ответа на вопрос

12
Greg

Спасибо Фоши за ваш ответ. Поскольку я наткнулся на эту ссылку в поиске 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 - именно то, что сказал Фоши .

11
Joel Purra

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

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

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

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

Спасибо! Минималистский интерфейс GUI, который [1] позволяет изменять без необходимости входа / выхода, [2] не заставляет меня возиться с шестнадцатеричным преобразованием в реестре, а [3] распространяет изменения для облегчения центра доступа так что кажется, что он делает все правильно. Clayton Stanley 12 лет назад 2
3
Phoshi

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

+ Изменить

HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferenceMask 

в 9F 3E 07 80 12 00 00 00

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

HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWndTrkTimeout 

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

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

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

Этот скрипт 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.

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