我需要提取光标图像以在我的Swing应用程序(Java)中使用。
首先,我找到了类似的问题,从答案中修改了代码片段,并得到了沙盒应用程序。
简而言之,它通过JNA和WinAPI获取光标图像,然后在JFrame上显示此图像,并为此框架设置自定义光标。
在大多数情况下,这段代码运行正确并适合我的任务。但是,我发现当用户更改光标的大小或颜色(Windows 10功能)时,程序会提取一个无效的光标图像,既不匹配原始光标的颜色也不匹配大小。
当用户有标准光标时:
当用户有粉色光标时,比标准光标更大: 在这种情况下,我决定使用C++和WinAPI创建相同的沙盒应用程序。我参考了问题的答案,但只解决了颜色方面的问题。 我认为主要瓶颈在于GetSystemMetrics
函数返回默认光标大小(32x32),且在光标大小更改后不会改变。我在这里找到了一些证据,但我不确定。因此我的问题是:
如何获取真实的光标大小?
非常感谢您的帮助!