为什么在记事本 window 中键入时鼠标光标会消失,但在浏览器或 cmd 中却不会?哪个 Win API 函数显示它以及如何显示它?
Why does the mouse cursor disappear when typing inside a notepad window, but not in a browser or cmd? Which Win API functions display it and how?
为什么在 notepad.exe
或 wordpad.exe
或 run.exe
window 中键入时 鼠标光标消失 ?哪个 function/interrupt/etc 对此负责?例如,在 Web 浏览器中输入或 cmd.exe
不会导致光标消失。机器代码中的哪个 Win API 函数显示鼠标指针以及如何(包括软件和硬件)以及这种消失是如何在低级别执行的?
应用程序可以主动实现在用户键入时隐藏鼠标指针。很少有应用程序这样做。
通常,您将通过处理 Win32 API 通知来实现它:
- 隐藏 WM_KEYDOWN
上的指针
- 在 WM_MOUSEMOVE 上显示指针以及更多事件,例如菜单和 window 相关事件。
此外,只有在鼠标指针选项中选中键入时隐藏指针,应用程序才应隐藏鼠标指针(见下文)。
可以使用传递 SPI_GETMOUSEVANISH 的 SystemParametersInfo() WIN32 API 函数查询此选项(又名 Mouse Vanish 功能).
为什么在 notepad.exe
或 wordpad.exe
或 run.exe
window 中键入时 鼠标光标消失 ?哪个 function/interrupt/etc 对此负责?例如,在 Web 浏览器中输入或 cmd.exe
不会导致光标消失。机器代码中的哪个 Win API 函数显示鼠标指针以及如何(包括软件和硬件)以及这种消失是如何在低级别执行的?
应用程序可以主动实现在用户键入时隐藏鼠标指针。很少有应用程序这样做。
通常,您将通过处理 Win32 API 通知来实现它:
- 隐藏 WM_KEYDOWN 上的指针
- 在 WM_MOUSEMOVE 上显示指针以及更多事件,例如菜单和 window 相关事件。
此外,只有在鼠标指针选项中选中键入时隐藏指针,应用程序才应隐藏鼠标指针(见下文)。
可以使用传递 SPI_GETMOUSEVANISH 的 SystemParametersInfo() WIN32 API 函数查询此选项(又名 Mouse Vanish 功能).