我正在使用libvncclient(libvncserver的一部分)和Qt开发多视图VNC客户端。这有点挑战,但我最终使该应用程序运行良好,只是它不会显示服务器上光标形状的变化。我想克服这个问题,以便像在其他大多数项目中一样,可以与全世界共享该软件项目。
我已经尝试过使libvncclient显示光标形状更改:
client->appData.useRemoteCursor = false;
并且不会在帧缓冲区中显示光标更改。接下来,我尝试使用以下方法自行处理游标更改:
client->appData.useRemoteCursor = true;
client->GotCursorShape = got_cursor_shape_change;
尽管在got_cursor_shape_change
服务器上发生光标形状更改时将调用回调,但光标图像rcSource
的缓冲区以及光标蒙版的缓冲区rcMask
不是有效的图像。
我已经在互联网上进行搜索以寻求有关此问题的帮助,但是除了官方文档外,资源还很少。我就此问题与开发人员联系,但他们说我尝试过的应该可以。
编辑:另外,其他查看器,例如TightVNC,TigerVNC,gtk-vnc等,都从服务器显示光标形状更改,因此我知道它正在正确发送更改。
有人对我应该尝试的方法有任何线索吗?
先感谢您。:-)
解决了。
问题是我测试使用的远程计算机上安装了非常旧的TightVNC(2.0.x)版本。一旦更新(到2.7.x),远程机器的光标就会可见,并且形状会在我的查看器中发生变化。以下是有效的方法:
client->appData.useRemoteCursor = false;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句