Jak sprawić, by mysz w systemie Windows 7 działała tak samo jak Windows XP

20

W Windows XP za pomocą TweakUI mógłbym włączyć opcję, aby gdy moja myszka przejdzie nad nieaktywnym oknem, uczyni to okno aktywnym. Istnieje również inna osobna opcja, dzięki której okno staje się aktywne, automatycznie staje się oknem najwyższego poziomu.

Lubię włączać pierwsze, ale nie drugie.

W przypadku systemu Windows 7 nie byłem w stanie znaleźć tego samego. Zamiast tego znalazłem opcję wewnątrz okien, która robi coś podobnego. Jeśli przesunę kursor myszy nad nieaktywne okno, muszę na chwilę na nim najechać, zanim się uaktywni. To nie jest natychmiastowe. Drugi problem polega na tym, że gdy się aktywuje, automatycznie staje się najwyższym oknem, obejmując inne rzeczy, których nie chcę obejmować.

Podsumowując, tego właśnie chcę w systemie Windows 7:

  1. Gdy moja mysz znajdzie się nad nieaktywnym oknem, natychmiast staje się aktywnym oknem.

  2. Kiedy aktywuje okno, nie podnosi go ponad inne okna.

Zjawisko
źródło

Odpowiedzi:

12

Dziękuję Phoshi za odpowiedź. Ponieważ natknąłem się na ten link z wyszukiwarki Google, uzupełnię niektóre brakujące tutaj informacje i podam pełny przewodnik krok po kroku:

Aby mysz X działała z instalacji Vanilla Windows 7:

  1. Otwórz Panel sterowania
  2. Wybierz „Łatwość dostępu”
  3. Wybierz „Zmień sposób działania myszy”
  4. Zaznacz pole obok „Aktywuj okno, najeżdżając na niego myszką” i naciśnij „OK”.
  5. Otwórz regedit
  6. Lokalizuj HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferenceMask- zmień tylko pierwszy bajt, musisz odjąć wartość szesnastkową 40 ​​od ​​wartości, która tam jest (np. DFStaje się 9F) - wyłącza to automatyczne podnoszenie przy aktywacji
  7. Zlokalizuj HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWndTrkTimeout- zmień jego wartość na coś małego. Niższe wartości utrudniają korzystanie z pływających okien tymczasowych (takich jak widżet obszaru powiadomień na pasku zadań), ponieważ znikają z czegoś innego, gdy się do nich poruszasz, ale niższe wartości również poprawiają czas reakcji. Możesz zacząć od 250ms i stamtąd go ulepszyć.
  8. Wyloguj się, zaloguj ponownie, et voila, ...

Kroki 1-4 zostały wspomniane przejściowo w pytaniu, ale nie zostały wymienione.

Kroki 5-8 są dokładnie tym, co powiedział Phoshi .

Greg
źródło
11

Zamiast ręcznego rejestru hacki , spróbuj użyć wywołań systemowych z SystemParametersInfo , zwłaszcza SPI_GETACTIVEWINDOWTRACKING, SPI_GETACTIVEWNDTRKZORDER, SPI_GETACTIVEWNDTRKTIMEOUT. Korzystanie z tych połączeń pozwala również uniknąć konieczności wylogowania / zalogowania w celu zastosowania ustawień. Poleciłbym użycie X-Mouse Controls , które je implementują.

Sterowanie X-Mouse : narzędzie do włączania lub wyłączania aktywnego śledzenia okna, podnoszenia, a także opóźnienia w milisekundach. Jest to znane jako zachowanie myszy x.

Musisz go uruchomić tylko raz, jest mały, open source i dba o szczegóły dla Ciebie.

Zrzut ekranu kontrolek myszy X-Mouse

Joel Purra
źródło
2
Dziękuję Ci! Minimalistyczny interfejs GUI, który [1] pozwala na zmianę bez konieczności wylogowania / zalogowania, [2] nie zmusza mnie do konwersji szesnastkowej w rejestrze, a [3] propaguje zmiany w centrum ułatwień dostępu tak, żeby wyglądało na to, że robi rzeczy „właściwie”.
Clayton Stanley,
3

Właśnie wtedy!
Otwórz regedit i zabierzmy się do pracy.

Zmiana

HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferenceMask

w 9F 3E 07 80 12 00 00 00

Następnie zmień

HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWndTrkTimeout

na 0 (może być konieczne przełączenie typu danych na dziesiętny).

Następnie wyloguj się, zaloguj i (mam nadzieję) cieszyć się przełączaniem okien!

Phoshi
źródło
Działa, ale uniemożliwia dostęp do ukrytych ikon na pasku zadań. Klikam strzałkę, aby rozwinąć listę, a następnie, gdy próbuję przenieść mysz do pola, znika, zanim do niego dojdę.
Zjawisko
Nieważne, mam do niego dostęp. Klikam strzałkę, a następnie naciskam tab, aby ją aktywować.
Zjawisko
Trochę obrzydliwe, ale chyba wykonalne. Może mógłbyś użyć Alt-Tab więcej?
Phoshi
2

Ten skrypt AutoHotkey to robi. Sprawdź pierwsze wiersze, istnieją pewne parametry, które zmieniają zachowanie skryptu:

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

Będziesz zainteresowany ostatnią z wymienionych powyżej, hover_keep_zorder , z zastrzeżeniem, że nie działa idealnie (choć dla mnie działało dobrze).

Nie zapomnij również ustawić hover_any_window na 1.

Snark
źródło
Przekroczono limit czasu głosowania! Przez przypadek kliknąłem ^ ponownie, zabierając moje poprzednie głosowanie, a teraz nie pozwoli mi ponownie głosować!
Phoshi,
Znalezienie trywialnego punktu do edycji było trudne, cholernie dobrze sformułowany tekst: P
Phoshi
Działa, ale uniemożliwia dostęp do ukrytych ikon na pasku zadań. Klikam strzałkę, aby rozwinąć listę, a następnie, gdy próbuję przenieść mysz do pola, znika, zanim do niego dojdę.
Zjawisko
Ups, powyższy komentarz był przeznaczony dla osoby z hakiem reg. Próbowałem tego i nic nie zrobiłem.
Zjawisko
Idealne rozwiązanie!
Ram