One way is to use a single Blender window stretched over both monitors. This way there is no need to deal with window focus and your OS can function the same as before. The only downside is when other people open the .blend on single monitor setup with Keep UI setting on.
The other way is to change how Windows give focus to windows. You need to give a window focus when a mouse enters it:
Win7 > Control Panel > Ease of Access > Change How Your Mouse Works (or just search for "mouse works" in search field)
Now the window will get focus when mouse enters it and ShiftMMB will work as it should.
One downside is that every window you enter with mouse will also be raised to the front, which I personally don't like. So this registry hack solves that:
- Run regedit (Win+R, regedit, OK)
- Open up the key HKEY_CURRENT_USER\Control Panel\Desktop
- subtract 40 bits from the first hex value of the REG_BINARY UserPreferencesMask. That is, if the current value is
df 3e 03 80 12 00 00 00, change the
9f (df - 40 = 9f).
To make the focus a little slower, so that pop-up windows are useable, you also want to change the focus timing. Change the REG_DWORD ActiveWindTrkTimeout (also in HKEY_CURRENT_USER\Control Panel\Desktop) to the number of milliseconds to wait before focus shifts to the window under the mouse. Value of 0x00000080 (128ms) is nice, you might like 200ms (c8), or some faster or slower value.
These registry hacks require a log off/on to take effect.
The other downside is that both mouse and keyboard get focus when you enter a window with cursor. So typing in a window won't work when your cursor gets out of that window. I didn't find a solution other than the next way below.
The ultimate way (if you are familiar with Linux x-mouse behaviour) is a 3rd party app to do all that you want: X-mouse Gizmo. There is no install necessary and it is open-source, should also work on Win 10.