Using Sysinternals Process Monitor, watching Logitech's Setpoint
software screwing around with the registry value WheelScrollLines. I
cannot even recognize an identifiable pattern, except that Setpoint
constantly changes the value from "-1" to a positive number, so that
applications cannot scroll one page at a time.
Apparently the registry key Desktop can be made read only to keep
Logitech from persistently changing the registry value
WheelScrollLines. That appears to be a half decent workaround,
depending on how often desktop registry settings need to be changed.
I found an MS tech note on the subject (see below).
Maybe you could use Dependency Walker
(
http://www.dependencywalker.com/) to find out which Logitech module
is calling the SPI_SETWHEELSCROLLLINES API. Then hack this module by
changing the API's name to SPI_SETWHEELSCROLLLINE_, say. In this way
you may prevent the registry updates altogether, or, if there is an
error window, you may at least find out *when* Logitech is accessing
the registry.
WheelScrollLines:
http://technet.microsoft.com/en-us/library/cc978628.aspx
=====================================================================
HKCU\Control Panel\Desktop
Data type Range Default value
REG_SZ 0 | 1 – 4,294,967,295 3
Specifies the number of lines scrolled for each one-notch rotation of
the mouse wheel on a Microsoft IntelliMouse when no modifier keys
(such as CTRL or SHIFT ) are pressed.
Value Meaning
0
The screen does not scroll when the mouse wheel is rotated.
1 – 4,294,967,295
Specifies the number of lines scrolled each time the mouse wheel is
rotated by one notch. If the value of this entry is greater than the
number of lines visible in the window, the screen scrolls up or down
by one page.
Applications should use the SPI_SETWHEELSCROLLLINES or
SPI_GETWHEELSCROLLLINES APIs to change the value of this entry.
=====================================================================
- Franc Zabkar