如果我调用Windows GetSystemMetrics()函数来了解已安装鼠标的按钮数量,但是如果从远程桌面会话中调用该函数,它将始终返回2。
我的公司正在进行很长时间的开发,将应用程序迁移到64位后,在现代环境中进行测试时,发现了与鼠标按钮有关的奇怪问题。该应用程序需要3个按钮才能在图形客户端(基于ILOG IlView)上执行3种不同的操作。
但是,如果在终端服务器/ RDP会话上执行,则该应用程序仅接收两个按钮的事件。但它在控制台会话上工作正常。
该软件仅检测到两个按钮,图形库将忽略来自第三个按钮的事件。
通过在内部调用SM_CMOUSEBUTTONS作为参数调用GetSystemMetrics()来进行检测。结果在控制台会话和RDP会话之间有所不同。
该问题似乎仅在Windows 10上执行会话时才会发生,而不是在Windows 7上执行。无论客户端使用什么Windows版本。
data = [
{
"_id": "5db581e58e11ad1b933e7f42",
"name": "ZANITY",
"times": [
{
"timestamp": 1474607824073,
"dateUTCString": "Sat Sep 03 2016 19:01:09 GMT+0000 (UTC)",
},
{
"timestamp": 1389120349942,
"dateUTCString": "Mon Aug 19 2019 05:43:14 GMT+0000 (UTC)",
},
]
},
{
"_id": "5db581e584de79b380890f75",
"name": "VETRON",
"times": [
{
"timestamp": 1474607824073,
"dateUTCString": "Sat Sep 03 2016 19:01:09 GMT+0000 (UTC)",
},
{
"timestamp": 1389120349942,
"dateUTCString": "Mon Aug 19 2019 05:43:14 GMT+0000 (UTC)",
},
]
},
{
"_id": "5db581e565b82e2b729077e1",
"name": "KOZGENE",
"times": [
{
"timestamp": 1474607824073,
"dateUTCString": "Sat Sep 03 2016 19:01:09 GMT+0000 (UTC)",
},
{
"timestamp": 1389120349942,
"dateUTCString": "Mon Aug 19 2019 05:43:14 GMT+0000 (UTC)",
},
]
}
]```
如果使用三键鼠标,则Windows 10上RDP会话的预期结果大于2。实际结果是2。
答案 0 :(得分:0)
在ILOG(Views)中有解决方法。您必须在ini文件中设置UseRightButton = true 有关更多详细信息,请参见 https://docs.roguewave.com/en/visualization/current/views/views.html#page/UserManuals/display.07.4.html#ww924027