如何隐藏鼠标光标?

如何隐藏鼠标光标?

如何切换鼠标光标的可见性?隐藏鼠标光标在某些视频播放器和 PC 游戏中非常有用,因为此功能无法自动完成。

答案1

这是来自优秀的 AHK 论坛的一个简单解决方案。https://autohotkey.com/boards/viewtopic.php?p=36693#p36693

detectHiddenWindows, On
gui +hwndgHwnd
gui,show,hide w1 h1
winset,transparent,1,ahk_id %gHwnd%
gui +alwaysOnTop +toolWindow -caption +0x80000000
return

ScrollLock::
while(a_timeidlephysical>300000) ; 5-minutes
    sleep 100
tog:=!tog
if(tog){
    blockinput,mousemove
    dllcall("ShowCursor","uint",0)
    mousegetpos,mx,my,active
    gui +Owner%active%
    gui,show,x%mx% y%my% noactivate
} else {
    blockinput,mousemoveoff
    gui,cancel
    dllcall("ShowCursor","uint",1)
}
return

搜索这里任何 AHK 资源。当然,我建议你进一步学习该语言。:)

答案2

这是我的答案,改编自 derz00 的答案,(谢谢,这对我的申请非常有用)

再次,它是一个自动热键脚本。

但是,我做了一些关键更改。该脚本使用相同的键来隐藏和显示鼠标,而我的脚本分别使用“[”和“]”来隐藏和显示,这样我就可以具体了解在任何给定时间采取了哪些操作,而无需知道当前状态(不要问为什么,我只是需要它。)

它还允许鼠标在隐藏时移动,并且取消了当用户输入空闲时间过长时脚本不响应的功能。

gui +hwndgHwnd
gui,show,hide w1 h1
winset,transparent,1,ahk_id %gHwnd%
gui +alwaysOnTop +toolWindow -caption +0x80000000
return


:*:]::
{
    sleep 5
    gui,cancel
    dllcall("ShowCursor","uint",1)
    return
}

:*:[::
{    
    sleep 5
    dllcall("ShowCursor","uint",0)
    mousegetpos,mx,my,active
    gui +Owner%active%
    gui,show,x%mx% y%my% noactivate
    return
}

相关内容