如何隐藏鼠标光标?

use*_*682 -3 c++ windows winapi

我想问一下是否有人可以为我提供一个 C++ 代码,在其中我可以在按下特定键时隐藏/显示鼠标指针。 C++ 甚至可视化 C++ ..

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

我还发现了几篇文章说我可以使用 ShowCursor 函数,但它不起作用..

小智 5

事实上,隐藏光标可能是一项艰巨的任务,这取决于您想要实现的目标。如果您正在使用 WinAPI 编写 GUI 应用程序,那将非常容易。

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

while(ShowCursor(false)>=0);
Run Code Online (Sandbox Code Playgroud)

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

如果您正在编写控制台应用程序 ShowCursor 就我已经测试过它不会显示任何效果。使用以下代码:

while(ShowCursor(false)>=0);    
std::cout<<ShowCursor(false)<<std::endl;
std::cout<<ShowCursor(true)<<std::endl;
Run Code Online (Sandbox Code Playgroud)

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