如何隐藏鼠标光标?

时间:2013-04-19 18:05:41

标签: c++ windows winapi

我想问一下是否有人可以提供c ++代码,我可以在按下特定键时隐藏/显示鼠标指针。 我找到了几个仅为TURBO C ++编写的代码,其中没有一个可以使用dev c ++甚至visual c ++进行编译和运行。

我尝试运行我在Dev C ++中找到的代码,但我只会遇到很多错误和不兼容的问题。

我还发现了一些文章说我可以使用ShowCursor函数,但它只是不起作用..

2 个答案:

答案 0 :(得分:4)

实际上隐藏光标可能会变成一项非常重要的任务,具体取决于您想要实现的目标。如果您使用WinAPI编写GUI应用程序,则非常简单。

只需调用ShowCursor(false);但是,有些情况可能会在某些情况下无法工作,因为ShowCursor功能仅“设置内部显示计数器”。显示光标,直到此计数器小于0(参见其上的msdn)。你可以尝试这样的事情:

while(ShowCursor(false)>=0);

确保计数器低于0。 但是,如果您使用的是Windows 7等较新的Windows版本,则只会将光标隐藏在应用程序窗口中。将光标隐藏在整个系统中可能会变得更加困难。

如果您正在编写控制台应用程序,那么就我测试它而言,ShowCursor将不会显示任何效果。使用以下代码:

while(ShowCursor(false)>=0);    
std::cout<<ShowCursor(false)<<std::endl;
std::cout<<ShowCursor(true)<<std::endl;

我们可以看到,计数器肯定低于0,但仍然显示光标。到目前为止,我还没有想出解决方案。

答案 1 :(得分:0)

如果查看SetCursor函数的文档,将光标设置为NULL句柄(例如SetCursor(NULL))将从屏幕上移除光标。