我有两种修改屏幕显示的方法。有没有办法冻结屏幕,直到第二个方法被调用?冻结Cocoa中的OS X屏幕
// I want to freeze the screen here
updateDisplay1(); // Change in display doesn't take effect until screen is unfrozen
updateDisplay2();
// Unfreeze screen here
在Excel VBA中,这将会像screenUpdating = FALSE。 Cocoa中是否有类似的功能?
一种可能的方式是采取截图:
// Take screenshot of the screen
// Display the screenshot image in front of the screen
updateDisplay1(); // Change is not visible
updateDisplay2();
// Remove screenshot image
但是这恐怕是缓慢的,占用了大量的内存。有没有更有效的方法?
您的主题令人困惑和误导。如果您说'屏幕显示',那么您应该会想到您正在谈论显示器屏幕。 –
我的英语不太好,对不起。但是我的问题很容易理解,不是吗?我只想知道如何冻结屏幕上显示的内容。 – user5498580
有一个函数'NSDisableScreenUpdates',但它只适用于你的进程拥有的窗口。因此,如果您使用辅助功能来控制另一个进程,那将无法工作。 – JWWalker