解决方法
如文档所述,SetSystemCursor()函数已经破坏了传递的游标,因此再次销毁它不会产生任何影响.
您需要存储旧游标的副本,以便以后可以恢复它:
// Global Variables: HCURSOR hOldCursor; ... hOldCursor = copyCursor(LoadCursor(NULL,MAKEINTRESOURCE(IDC_ARROW))); HCURSOR hNewCursor = copyCursor(LoadCursor(hInstance,MAKEINTRESOURCE(IDC_MYCURSOR))); SetSystemCursor(hNewCursor,OCR_norMAL);
并像这样恢复它:
SetSystemCursor(hOldCursor,OCR_norMAL); DestroyCursor(hOldCursor); hOldCursor = NULL;
请注意,程序在没有恢复光标的情况下终止时会产生相当大的痛苦.正如我经验测试此代码.更改系统游标非常不友好,因为它对桌面上运行的所有其他程序具有全局影响.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。