微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将自定义系统光标重置为正常

我用SetSystemCursor更改系统光标,但是当我尝试重置系统光标到正常与DestroyCursor没有任何反应!

有任何想法吗 ?

谢谢 !

ASP.NET:你最常用的httpmodules

获取应用程序的NotifyIcon矩形?

如何从本地应用程序获取窗口打开/closures/最小化消息?

如何使用C#/ .NET代码获取ClickOnce应用程序path和版本号?

发送键盘到应用程序在c#(sendkeys,postmessage,sendmessage都不工作)

用户试图打开一个新的实例时,返回到一个已经打开的应用程序

从C#/ WPF应用程序重新启动机器

在Windows中添加全局键盘快捷方式的最简单方法是什么?

如何监视.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] 举报,一经查实,本站将立刻删除。

相关推荐