Autohotkey:如何在不聚焦另一个控件的情况下取消对控件的聚焦(取消对所有控件的聚焦)?

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

我正在编写一个 Autohotkey 脚本,它可以处理一些 Photoshop 窗口和控件。

我需要能够取消当前聚焦的控件(例如,Edit3)的焦点,以便之后没有控件具有焦点(我可以解释为什么我需要在必要时这样做,但这似乎无关紧要,我真的需要所有控制不专心)。

AHK 的 ControlFocus 命令不提供这样的选项。

我试过像这样使用Windows Message

SendMessage, 0x8, 0, 0, Edit3, A  ; WM_KILLFOCUS = 0x08

但它什么也没做。 相比之下,相反的工作正常并集中控制:

SendMessage, 0x7, 0, 0, Edit3, A  ; WM_SETFOCUS = 0x07

也许我对 WM_KILLFOCUS 消息做错了什么?

澄清一下:我不想模拟点击、切换窗口、添加要聚焦的新的不可见控件等。我只想知道如何取消对控件的聚焦。

那么,知道如何在不聚焦另一个控件的情况下取消对控件的聚焦吗?

focus autohotkey
2个回答
0
投票

last_active_win:=winexist("A") ;在启动你的 gui 之前获取之前的 windows 进程

界面 +AlwaysOnTop

Gui 添加,按钮,x10 w100 h30,% 1

Gui Show,, My GUI ;启动获得焦点的 gui

睡眠 500

WinActivate ahk_id %last_active_win% ;重新激活以前的窗口以取消 gui 控件的焦点

退货


-1
投票

您可以发送#d,您将转到桌面。哪个将专注于桌面,但可以为您工作。

SendInput, #d
© www.soinside.com 2019 - 2024. All rights reserved.