我用SetSystemCursor更改系统光标,但是当我尝试重置系统光标到正常与DestroyCursor没有任何反应!
有任何想法吗 ?
谢谢 !
ASP.NET:你最常用的httpmodules
获取应用程序的NotifyIcon矩形?
如何从本地应用程序获取窗口打开/closures/最小化消息?
如何使用C#/ .NET代码获取ClickOnce应用程序path和版本号?
发送键盘到应用程序在c#(sendkeys,postmessage,sendmessage都不工作)
从C#/ WPF应用程序重新启动机器
如何监视.Net应用程序的跟踪输出?
新的Windows应用程序 – 什么语言?
如文档所述,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;
请注意,如果程序终止而不恢复光标,则会导致相当大的痛苦。 正如我测试这个代码所经历的那样。 更改系统游标是非常不友好的,因为它对桌面上运行的所有其他程序具有全局影响。
或者,您可以将系统光标还原为默认值,如下所示:
SystemParametersInfo(SPI_SETCURSORS,NULL,0);
其中SPI_SETCURSORS定义为0x0057 ,如此处所述
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。