ArcMap鼠标滚轮方向的设置是记录在注册表信息中,那么我们做一个简单的测试。先打开注册表,将ReverseMouseWheel删除,再打开ArcMap进行鼠标滚轮方向设置。
设置完成后,刷新注册表,ReverseMouseWheel又回来了。这说明了ArcMap在设置时会对注册表进行编辑。
一方面,我们可以修改注册表。将下列信息存储为reg文件,再合并到当前注册表。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\ESRI\Desktop10.2\ArcMap\Settings]
"ReverseMouseWheel"=dword:00000001
另一方面,我们可以参考ArcMap中的代码可能是这样的:
RegistryKey setKey = Registry.CurrentUser.OpenSubKey(@"Software\ESRI\Desktop10.2\ArcMap\Settings", true);
if (setKey != null)
{
if (setKey.GetValue("ReverseMouseWheel") == null)
{
setKey.SetValue("ReverseMouseWheel", 0, RegistryValueKind.DWord);
}
else if (setKey.GetValue("ReverseMouseWheel").ToString() != "0")
{
setKey.SetValue("ReverseMouseWheel", 0);
}
}
那么问题又来了,Desktop分版本10.X,不同版本的注册表路径不一致,注册表中可能残留多个版本的注册信息;也可能没有Desktop,而是Engine。其实可以通过RuntimeManager.ActiveRuntime的属性开判断版本、产品类型、甚至安装路径等。