gpt4 book ai didi

c - GetSystemMetrics() 在 RDP session 上报告错误的鼠标值

转载 作者:行者123 更新时间:2023-11-30 16:11:29 24 4
gpt4 key购买 nike

如果我调用 Windows GetSystemMetrics() 函数来了解已安装鼠标的按钮数量,但如果从远程桌面 session 调用该函数,它总是返回 2。

我的公司正在进行很长时间的开发,在将应用程序迁移到 64 位后,在现代环境中进行测试时检测到与鼠标按钮相关的奇怪问题。该应用程序需要 3 个按钮来在图形客户端上执行 3 种不同的操作(基于 ILOG IlView)。

但是,如果在终端服务器/RDP session 上执行,应用程序仅接收两个按钮的事件。但它在控制台 session 上运行良好。

软件仅检测到两个按钮,图形库会忽略来自第三个按钮的事件。

通过调用 GetSystemMetrics() 并将 SM_CMOUSEBUTTONS 作为参数传递,在内部进行检测。控制台和 RDP session 的结果有所不同。

该问题似乎仅在 Windows 10 上执行 session 时才会出现,而在 Windows 7 上则不会。无论客户端使用什么 Windows 版本。

int main (int argc, char **argv)
{
printf("Number of buttons: %d\n", GetSystemMetrics(SM_CMOUSEBUTTONS));

return 0;
}

如果使用 3 键鼠标,Windows 10 上 RDP session 的预期结果大于 2。实际结果是2。

最佳答案

ILOG( View )中有解决方法。您必须在 ini 文件中设置 UseRightButton=true更多详细信息可以在以下位置找到: https://docs.roguewave.com/en/visualization/current/views/views.html#page/UserManuals/display.07.4.html#ww924027

关于c - GetSystemMetrics() 在 RDP session 上报告错误的鼠标值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58599488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com