如何使用苹果脚本在“后台”或“隐藏”应用程序中运行应用程序?

Posted

技术标签:

【中文标题】如何使用苹果脚本在“后台”或“隐藏”应用程序中运行应用程序?【英文标题】:How to run an application in "background" or "hide" an application using apple script? 【发布时间】:2015-09-14 06:37:27 【问题描述】:

我正在尝试启动和隐藏 quicktime 播放器,开始录制我的 iPhone 屏幕一段时间,并使用以下脚本将输出保存在桌面上,文件名为“hello”

on run
    set filePath to (path to desktop as text) & "hello.mov"
    set f to a reference to file filePath

    startVideoRecording(f)

end run

on startVideoRecording(f)

    tell application "QuickTime Player"
        activate
        tell application "System Events"
            keystroke "h" using command down
        end tell
        set newMovieRecording to new movie recording
        set camera to "Prabhu Konchada's iPhone"
        tell newMovieRecording
            set camera to "Prabhu Konchada's iPhone"
            start
        end tell
        delay (10)
        pause
        save newMovieRecording in f
        stop
        close newMovieRecording
    end tell
end startVideoRecording

为了隐藏我试过的快速播放器:

    告诉应用程序“系统事件”告诉进程“QuickTime Player”使用向下命令击键“h”。

    告诉应用程序“Finder” 将进程“QuickTime Player”的可见设置为 false 结束告诉

    告诉应用程序“系统事件” 将 frontProcess 设置为最前面为 true 的第一个进程 将 frontProcess 的可见设置为 false 结束告诉

以上 3 种方法没有达到我的目的,我不希望这个快速时间在我的屏幕上或在我的 DOCK 中可见......

【问题讨论】:

【参考方案1】:
tell application "System Events"
set visible of application process "QuickTime Player" to false
end tell

【讨论】:

虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。【参考方案2】:

将前窗的边界设置为“不可能”的值并删除activate

on run
    set filePath to (path to desktop as text) & "hello.mov"
    set f to a reference to file filePath

    startVideoRecording(f)

end run

on startVideoRecording(f)

    tell application "QuickTime Player"
        set newMovieRecording to new movie recording
        set bounds of window 1 to -3000, 0, 100, 100
        set camera to "Prabhu Konchada's iPhone"
        tell newMovieRecording
            set camera to "Prabhu Konchada's iPhone"
            start
        end tell
        delay (10)
        pause
        save newMovieRecording in f
        stop
        close newMovieRecording
    end tell
end startVideoRecording

【讨论】:

是的,当然你还需要我在帖子中省略的on run 处理程序 您能否像我尝试使用 on run 处理程序一样编辑您的帖子 我们开始吧。影片被录制并在 10 秒后出现在桌面上。也许问题是camera 属性,它在QT Player 字典中不存在。但是有一个current camera 属性 iPhone的摄像头怎么选? 相机属性很好,它确实对我有用。我不想把它放在我的屏幕上或底座上。所以想在后台运行它或在开始录制后隐藏应用程序

以上是关于如何使用苹果脚本在“后台”或“隐藏”应用程序中运行应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

安卓系统手机怎么把某些软件设置为允许后台运行

当android应用程序后台运行时如何在android中隐藏视图(在后台运行时不停止android拍摄快照)[重复]

windows环境隐藏命令行窗口运行Flask项目

什么是后台运行

苹果手机怎么设置后台运行时不自动关闭?

怎样让一个批处理程序在后台运行啊???