我正在开发一个可以调整选定窗口大小的应用程序。当任何窗口被选中时,它可以成功地工作。但是当没有窗口被选中时,它会崩溃。
目前从以下代码中获取最前面的窗口。
AXUIElementCopyAttributeValue(frontMostApp, kAXFocusedWindowAttribute, (CFTypeRef *)&frontMostWindow);
但是如何检测控件在桌面上还是所有窗口都不活动。
我正在开发一个可以调整选定窗口大小的应用程序。当任何窗口被选中时,它可以成功地工作。但是当没有窗口被选中时,它会崩溃。
目前从以下代码中获取最前面的窗口。
AXUIElementCopyAttributeValue(frontMostApp, kAXFocusedWindowAttribute, (CFTypeRef *)&frontMostWindow);
但是如何检测控件在桌面上还是所有窗口都不活动。
AXUIElementCopyAttributeValue() 返回 AXError,因此您可以捕获它,然后 检查发生了什么。
AXError error = AXUIElementCopyAttributeValue(frontMostApp, kAXFocusedWindowAttribute, (CFTypeRef *)&frontMostWindow);
if (error != kAXErrorSuccess) {
//solve problems here
}
kAXErrorNoValue = -25212
。tell current app to ...
set the bounds of the front window to {x, y, x + width, y + height}
x
和y
是距离左上角的距离。set theWindows to the windows of the current application
if the length of theWindows is 0 then
display alert "There are no windows to resize"
else
display dialog "Enter x" default answer ""
set x to text returned of result as number
display dialog "Enter y" default answer ""
set y to text returned of result as number
display dialog "Enter width" default answer ""
set width to text returned of result as number
set width to (x + width)
display dialog "Enter height" default answer ""
set height to text returned of result as number
set height to (y + height)
tell current application to set the bounds of the front window to {x, y, width, height}
end if