我知道每隔30秒调用一次UpdateSystemActivity()会阻止屏幕保护程序触发,但我感兴趣的是我们是否能够检测到屏幕保护程序是否被阻止运行.
它必须是App Store安全的
解决方法 我的笔记说有一种方法可以使用未记录的类ScreenSaverController来完成此 *** 作.这是标题:@interface ScreenSaverController : NSObject{ voID *_reserved;}+ (ID)controller;+ (ID)enginePath;- (ID)init;- (voID)dealloc;- (BOol)screenSaverIsRunning;- (BOol)screenSaverCanRun;- (voID)setScreenSaverCanRun:(BOol)arg1;- (voID)screenSaverStartNow;- (voID)screenSaverStopNow;- (voID)restartForUser:(ID)arg1;- (double)screenSaverTimeRemaining;- (BOol)screenSaverIsRunningInBackground;- (voID)screenSaverDIDFadeInBackground:(BOol)arg1 psnHi:(unsigned int)arg2 psnLow:(unsigned int)arg3;@end
以下是如何使用它:
ScreenSaverController *ssc = [ScreenSaverController controller];if ([ssc screenSaverCanRun]) { ... }[ssc release];
请注意,您需要链接ScreenSaver框架才能使用它.由于这是一个未记录的类,因此这样做会使您的应用程序不符合Mac App Store的条件.
另外看一下screenSaverTimeRemaining – 一些防止屏幕保护程序启动的方法可能只是不断重置它.
总结以上是内存溢出为你收集整理的macos – 如何检测应用程序(如Quicktime)是否阻止屏幕保护程序运行全部内容,希望文章能够帮你解决macos – 如何检测应用程序(如Quicktime)是否阻止屏幕保护程序运行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)