我用chatgpt写了很久的代码,运行起来都有问题,有没有大神帮我看看,我觉得这个脚本实用性和泛用性真的会很强
我的需求的最终目的是:我使用的讯飞输入法,默认关闭大写,开启中文输入,但是当我在ai,ps等设计软件中想要按快捷键的时候,会直接打字而不是按出快捷键,通过开启大写后可以快速解决这个问题,但是我的痛点是打开大写后我切换到别的软件中想要打字时,就会打出大写,这非常浪费时间,所以我想要自动切换的脚本来解决这个问题
#Persistent
; 监听窗口焦点变化的消息
OnMessage(0x0007, "WindowActivated")
Return
WindowActivated(wParam, lParam, msg, hwnd)
{
WinGetClass, class, ahk_id %hwnd% ; 使用窗口ID获取窗口类名
If (class = "illustrator") ; 检查类名是否为"illustrator"
{
if GetKeyState("CapsLock", "T") = 0 ; 检查大写键是否关闭
{
Send, {CapsLock} ; 如果关闭,则打开大写键
}
}
else
{
if GetKeyState("CapsLock", "T") = 1 ; 检查大写键是否打开
{
Send, {CapsLock} ; 如果打开,则关闭大写键
}
}
}
这个脚本使用OnMessage
函数来监听窗口焦点变化的消息(消息代码为0x0007
)。当窗口焦点发生变化时,WindowActivated
函数会被调用,并检查当前活动窗口的类名。然后,它会根据类名来切换大写键状态。