Autohotkey 使用自动热键修复Labview Alt Tab的行为

Autohotkey 使用自动热键修复Labview Alt Tab的行为,autohotkey,labview,alt-tab,Autohotkey,Labview,Alt Tab,是否有人尝试使用自动热键修复Labview干扰正常Alt Tab行为的方式 Alt选项卡在Labview内部将所有非Labview窗口置于列表的末尾 所以,如果您刚刚从浏览器中通过alt选项卡切换到labview窗口,则需要 (2×当前开放的labview项目数量\u-1) 击键返回。好主意。我觉得这个功能很烦人,而且在网络上的任何地方似乎都没有一个简单的解决方案。这是我的剧本。两个简要说明: 我很难重新映射Alt选项卡。如果这很关键,你可以试着开始寻求帮助 据我所知,不可能消除“屏幕闪烁”,

是否有人尝试使用自动热键修复Labview干扰正常
Alt Tab
行为的方式

Alt选项卡
在Labview内部将所有非Labview窗口置于列表的末尾

所以,如果您刚刚从浏览器中通过alt选项卡切换到labview窗口,则需要

(2×当前开放的labview项目数量\u-1)


击键返回。

好主意。我觉得这个功能很烦人,而且在网络上的任何地方似乎都没有一个简单的解决方案。这是我的剧本。两个简要说明:

  • 我很难重新映射Alt选项卡。如果这很关键,你可以试着开始寻求帮助
  • 据我所知,不可能消除“屏幕闪烁”,因为Windows在按键之间需要一些延迟
注意:要使此代码适应各种窗口,请使用自动热键中包含的窗口间谍工具查找“ahk_类”

代码

我最近发现了一个与这个问题相关的,但不幸的是它是用俄语写的


它使用python脚本(+自动热键映射)引用了以下内容,该脚本似乎在没有“屏幕闪烁”的情况下解决了问题。

良好的开端!不过,这并不能很好地计算vis。我打开了一个vi文件(即两个窗口:FP和BD)-它说我有三个。应该很容易找到-只需运行一个WinGet,看看有什么。我通过在窗口标题中查找vi来计算,但是如果您有其他显示,可以修改代码。在我的实验中,
ahk_类LVDChild
被证明是足够可靠的
#NoEnv  ; Recommended for performance and compatibility with future 
AutoHotkey releases.
#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#NoTrayIcon 
#SingleInstance force

SetTitleMatchMode 2 ;partial search mode
#IfWinActive vi
#q:: ;there were issues mapping to Alt+Tab

CountOfVIs := -1
WinGet, id, list,ahk_class LVDChild,, Program Manager
Loop, %id%
{
CountOfVIs := CountOfVIs +1
}

msgbox, # of VIs open: %CountOfVIs% ;when I remove this it doesn't work - must be an AHK thing

Send {Alt down}
Loop,%CountOfVIs%
{
Send {tab}
Sleep,50 ;if this is too low it doesn't work
} 
Send {Alt up}