gpt4 book ai didi

macos - 列出所有应用程序的所有窗口

转载 作者:行者123 更新时间:2023-12-04 14:02:57 30 4
gpt4 key购买 nike

我正在尝试编写一个AppleScript脚本来调整所有打开的窗口的大小。为了确保进入所有窗口,我在脚本中注明了应用程序的名称以及该应用程序的打开窗口的数量。
有趣的是,当我听到所有打开的应用程序的名称时,我的脚本说它们都打开了0个窗口。如何解决此问题?

这是我的代码:

tell application "System Events"
repeat with theProcess in (every process)
if background only of theProcess is false then
if name of theProcess is not "Finder" then
if name of theProcess is "Google Chrome" then
say "Chrome woo hoo"
say (count windows as string)
else
say name of theProcess as string
say (count windows as string)
tell theProcess
repeat with theWindow in windows
say "found a window of"
say (name of theProcess) as string
tell theWindow
click button 2
end tell
end repeat
end tell
end if
end if
end if
end repeat
end tell

我在Mac OS X 10.7.5上,使用automator 2.2.4编写/运行此applescript

最佳答案

您必须告诉计数窗口的过程。毕竟,了解窗口的是过程,而不是系统事件。

您已告诉流程说出其名称,例如“将过程的名称说成字符串”,但是只使用“将窗口数作为字符串称呼”……没有任何过程与之相关。尝试“计数进程的窗口”。基本上,您在某些行中有时会告诉您该过程,有时却不告诉您,有时甚至会告诉您该过程,即使您已经告诉了该过程,因此也要重复两次。在这里,您可以“说出(Process的名称)为字符串”,但是该代码位于“tell theProcess”块内,因此已经被告知了Process。

确实,您需要仔细检查代码并更加精确。提示...如果要单击窗口中的按钮,则该窗口必须位于屏幕的最前面,否则无法单击它。另一个提示...“名称”已经是字符串,因此您无需将其强制为字符串。

顺便说一句,我同意迈克尔·道特曼(Michael Dautermann)对您的帖子的评论……在某些流程中您将无法访问。但是随着您的前进,您会发现这一点。

这就是我编写您的代码的方式。基本上,我将使用“tell theProcess”块在开始时获取所有变量。然后,我可以使用这些变量进行处理。希望对您有所帮助。请注意,我只是将过程放在最前面,这意味着如果它打开了多个窗口,它将只单击前面窗口上的一个按钮。您必须添加代码以使每个窗口位于最前面,然后才能单击其按钮。祝你好运。

tell application "System Events"
repeat with theProcess in processes
if not background only of theProcess then
tell theProcess
set processName to name
set theWindows to windows
end tell
set windowsCount to count of theWindows

if processName is "Google Chrome" then
say "Chrome woo hoo"
say windowsCount as text
else if processName is not "Finder" then
say processName
say windowsCount as text
if windowsCount is greater than 0 then
repeat with theWindow in theWindows
say "found a window of " & processName
tell theProcess
set frontmost to true
tell theWindow
click button 2
end tell
end tell
end repeat
end if
end if
end if
end repeat
end tell

关于macos - 列出所有应用程序的所有窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551419/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com