如何在C#中隐藏所有窗口的鼠标光标?

问题描述 投票:0回答:1

TLDR:如何以编程方式隐藏整个桌面的鼠标光标,无论哪个应用程序具有焦点?

尽管我在 Windows 鼠标选项中启用了“打字时隐藏指针”,但它不适用于大多数窗口。它似乎只适用于使用标准 Windows 文本框控件(例如 notepad.exe)的 Windows。在其他地方,光标始终停留在我正在输入的内容之上。

当我执行特定操作(例如,按下热键)时,我想以编程方式隐藏鼠标光标在整个桌面上,无论哪个应用程序具有焦点。然后,当鼠标移动时,我希望光标重新出现。

我可以处理热键等。我只需要知道如何隐藏光标。

我尝试过的:

目前我的解决方法是监听空格键被按下(意味着我正在输入多个字符),然后将鼠标光标移动到桌面的顶角,让开。然而,这不是一个理想的解决方案,因为它需要大量移动鼠标才能返回到原始位置,并且在输入包含空格的维度时,在 Sketchup 等应用程序中会弄乱鼠标位置。我希望光标在当前位置变得不可见,然后在移动鼠标时重新出现在同一位置,因为它应该与“键入时隐藏指针”选项一起使用。

我不依赖于 C#,但它很容易编译成 Windows 的可执行文件,我可以在 Windows 启动时启动它。

感谢您的帮助!

c# windows winapi mouse mouse-cursor
1个回答
0
投票

这是针对此问题的 AutoHotkey 解决方案,不过由于这仅调用 Windows API,因此您也可以将其转换为 C#(或者仅在 Windows 启动时使用启动 AHK 脚本)

© www.soinside.com 2019 - 2024. All rights reserved.