在Mac OS X中以编程方式将窗口高度更改为超过屏幕高度

3
尊敬的Mac OS低级用户,请帮忙。
我正在尝试以编程方式更改Safari(或其他窗口)的高度。我曾经尝试过使用AppleScript和Carbon的AXUIElementSetAttributeValue,但是这些方法都无法使窗口增大到超过屏幕的高度。但是,宽度可以毫无问题地更改。
我猜想我应该从类似于Win32下带有SWP_NOSENDCHANGING标志的SetWindowPos开始。
也许您可以禁用此功能,该功能监视窗口的大小或完全关闭负责此功能的功能?
请注意,我想从外部进程以编程方式执行此操作 - 我不是在询问如何控制自己应用程序的窗口大小和位置。
谢谢。

在如此强大的操作系统Mac中,这不可能吗? - nezlooy
1个回答

0

这是不可能的,可以在窗口编程指南中搜索“请注意,任何带有标题栏的NSWindow都会自动约束到屏幕上”。


也许可以禁用监视窗口大小的功能,或者完全关闭负责此功能的程序? - nezlooy
不,constrainFrameRect:toScreen: 方法是框架默认调用的,用于调整窗口的高度以适应屏幕:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html。你可以重写它,但显然只能在你的应用程序中这样做。 - Michele Percich
我想表达的是:对于你开发的应用程序窗口,你可以重写方法并获得你想要的结果;但对于另一个应用程序的窗口(你的情况),你无法这样做,因为这是标准行为。 - Michele Percich
一切都很清楚,如果是为了自己的应用,那么非常感谢您的回复! - nezlooy
@nezlooy 点赞需要15个声望,但您可以接受一个答案(使用勾号)并获得更少的声望。 - Ian Roberts
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接