加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

macos – Applescript – 将窗口带到前台

发布时间:2020-12-13 20:41:52 所属栏目:Windows 来源:网络整理
导读:我有一个同时打开几个窗口的应用程序. 我想把一个特定的窗口带到前台(我知道它的标题). 目前我正在使用组合键来完成这项任务,但我想尝试一些不同的东西,因为我遇到了这种方法的一些问题. tell application "System Events" set frontmost of process "appIT"
我有一个同时打开几个窗口的应用程序.
我想把一个特定的窗口带到前台(我知道它的标题).

目前我正在使用组合键来完成这项任务,但我想尝试一些不同的东西,因为我遇到了这种方法的一些问题.

tell application "System Events"
    set frontmost of process "appIT" to true
    keystroke "1" using command down
    delay 0.2
end tell
如果您的应用程序是可编写脚本的并且允许设置窗口的索引,则可以执行以下操作(基于 How do I make a Safari window active using AppleScript (elegantly)?中的答案)
to raiseWindow of theApplicationName for theName
    tell the application named theApplicationName
        activate
    set theWindow to the first item of ?
        (get the windows whose name is theName)
    if index of theWindow is not 1 then
            set index to 1
            set visible to false
            set visible to true
        end if
    end tell
end raiseWindow

切换可见性对于处理切换应用程序时出现的一些奇怪现象是必要的.如果不切换可见性,则当您切换回应用程序时,窗口将不是第一个窗口.不幸的是,这种切换将窗口缩小到底座然后恢复它,一个非常戏剧性的UI中断.

这是我发现处理怪异的另一种方式:

to raiseWindow2 of theApplicationName for theName
    tell the application named theApplicationName
        activate
    set theWindow to the first item of ?
        (get the windows whose name is theName)
        if the index of theWindow is not 1 then
            set the index of theWindow to 2
        tell application "System Events" to ?
            tell application process theApplicationName to ?
                keystroke "`" using command down
        end if
    end tell
end raiseWindow2

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读