TLDR:如何以编程方式隐藏整个桌面的鼠标光标,无论哪个应用程序具有焦点?
尽管我在 Windows 鼠标选项中启用了“打字时隐藏指针”,但它不适用于大多数窗口。它似乎只适用于使用标准 Windows 文本框控件(例如 notepad.exe)的 Windows。在其他地方,光标始终停留在我正在输入的内容之上。
当我执行特定操作(例如,按下热键)时,我想以编程方式隐藏鼠标光标在整个桌面上,无论哪个应用程序具有焦点。然后,当鼠标移动时,我希望光标重新出现。
我可以处理热键等。我只需要知道如何隐藏光标。
我尝试过的:
Cursor.Hide方法仅隐藏当前表单的光标。这不是一个可接受的解决方案。
Windows API ShowCursor 函数 - 似乎根本不起作用...光标永远不会消失。
目前我的解决方法是监听空格键被按下(意味着我正在输入多个字符),然后将鼠标光标移动到桌面的顶角,让开。然而,这不是一个理想的解决方案,因为它需要大量移动鼠标才能返回到原始位置,并且在输入包含空格的维度时,在 Sketchup 等应用程序中会弄乱鼠标位置。我希望光标在当前位置变得不可见,然后在移动鼠标时重新出现在同一位置,因为它应该与“键入时隐藏指针”选项一起使用。
我不依赖于 C#,但它很容易编译成 Windows 的可执行文件,我可以在 Windows 启动时启动它。
感谢您的帮助!
这是针对此问题的 AutoHotkey 解决方案,不过由于这仅调用 Windows API,因此您也可以将其转换为 C#(或者仅在 Windows 启动时使用启动 AHK 脚本)