我想监视OSX盒子上的屏幕保护程序和锁屏事件.作为第一关,我很好,他们只是打印到控制台.
以下的其他人的问题的建议,我写了一些目标C监听可可通知的
com.apple.screensaver.didstart,com.apple.screensaver.didstop,com.apple.screenIsLocked,和com.apple.screenIsUnlocked事件.
// ScreenSaverMonitor.h
#import <Foundation/NSObject.h>
#import <Foundation/NSNotification.h>
@interface ScreenSaverMonitor: NSObject {}
-(id) init;
-(void) receive: (NSNotification*) notification;
@end
// ScreenSaverMonitor.m
#import "ScreenSaverMonitor.h"
#import <Foundation/NSString.h>
#import <Foundation/NSDistributedNotificationCenter.h>
#import <Foundation/NSRunLoop.h>
#import <stdio.h>
@implementation ScreenSaverMonitor
-(id) init {
NSDistributedNotificationCenter * center
= [NSDistributedNotificationCenter defaultCenter];
[center addObserver: self
selector: @selector(receive:)
name: @"com.apple.screensaver.didstart"
object: nil
];
[center addObserver: self
selector: @selector(receive:)
name: @"com.apple.screensaver.didstop"
object: nil
];
[center addObserver: self
selector: @selector(receive:)
name: @"com.apple.screenIsLocked"
object: …Run Code Online (Sandbox Code Playgroud) 我是javascript编程的新手,我有一个问题,我无法在任何地方找到答案.
我最近整理了一个简单的幻灯片,以远程查看我在家用计算机上托管的照片.这本身就可以.我遇到的问题是,当我查看照片时,我不会与硬件交互,这会在一段时间后导致显示器关闭.在我的手机上观看照片时,这尤其令人讨厌.
我的问题是:有没有办法防止这种情况发生?每次刷新照片时,我都在考虑伪造鼠标或其他事件的方向,但我不知道如何做到这一点,如果有可能的话.
任何帮助是极大的赞赏!
我注意到,当我在YouTube上观看视频时,屏幕保护程序无法启动.我正在使用Windows 7.
这是测试:
我已经使用Firefox,Chrome和IE8进行了测试.我的Flash Player版本是10.3.(Youtube正在使用flash播放视频).无论我是否全屏观看视频,都会发生同样的情况.
有谁知道他们是怎么做到的?
我搜索过,但我发现的只是人们说这是不可能的,或者是用户在观看视频时禁用屏幕保护程序的提示.
请查看所有答案.不要坚持投票最多.
我正在寻找一种体面的,非蹩脚的方式来抑制xscreensaver,kscreensaver或gnome-screensaver,它们可能正在运行,最好是以屏幕保护程序无关的方式,它绝对必须快速执行.
我已经阅读了xscreensaver常见问题解答(http://www.jwz.org/xscreensaver/faq.html).
我有一个基于gtk的游戏程序,它在混合多个音频通道的同时发出30帧/秒,并且由于它是由操纵杆控制的,有时候"屏幕保护程序"会启动.我把"the"放在引号中,因为有至少三种不同的流行屏保,xscreensaver,gnome-screensaver和kscreensaver,每种都有自己独特且笨重的方法,应用程序可能通过它们来抑制它们.
是否有人封装了代码以将所有这些禁止成快速的代码块?哦,它必须与GPL兼容.
目前,如果检测到任何屏幕保护程序并且操纵杆正在使用中,我的代码只是抱怨不合作的屏幕保护程序开发人员,除了建议用户手动禁用屏幕保护程序之外,实际上并没有尝试做任何事情,这是我唯一能做的事情.我认为这样做非常难看,我只是拒绝这么做.
只是想知道是否有其他人遇到过这个,以及他们做了什么,如果他们做了什么,如果它看起来像我看起来那样丑陋,或者如果那里有一些优雅的解决方案......似乎可能以某种方式合成X事件来欺骗屏幕保护程序,以为某些活动可能以通用的方式完成,但我真的不知道该怎么做(并希望你不需要root来做它.)
有任何想法吗?
谢谢,
- 史蒂夫
嗯,不幸的是,至少在Fedora核心8上,这似乎不起作用.
xdg-screensaver脚本在那里,似乎打算工作,它实际上不起作用.
一旦你执行了"xdg-screensaver suspend window-id",其中窗口id就是从程序中获取的
xwindow_id = GDK_WINDOW_XWINDOW (GTK_WIDGET (widget)->window);
或者是否通过xprop获取窗口ID,并且手动运行xdg-screensaver,将创建两个进程:
[scameron@zuul wordwarvi]$ ps -efa | grep xdg scameron 4218 1 0 20:12 pts/2 00:00:00 /bin/sh /usr/bin/xdg-screensaver suspend 0x3a00004 scameron 4223 1 0 20:12 pts/2 00:00:00 /bin/sh /usr/bin/xdg-screensaver suspend 0x3a00004 scameron 4313 3151 0 20:15 pts/1 00:00:00 grep xdg [scameron@zuul wordwarvi]$
并且他们永远不会死,即使在他们应该等待死亡的程序之后,屏幕保护程序永远不会重新启用.
[scameron@zuul wordwarvi]$ xdg-screensaver status disabled [scameron@zuul wordwarvi]$ ls -ltr /tmp | grep …
我很确定你可以使用.NET创建屏幕保护程序,但有没有这样做的教程?你怎么能制作XNA屏保?
如何通过代码(在cmd中)打开(Windows 7)屏幕保护程序?
有没有办法以编程方式(通过ioctl()等)或通过读取/ sys,/ proc或/ dev中的文件来检查屏幕是否已被Linux控制台屏幕保护程序消隐?
谢谢和最好的问候,
冈特
希望这是一个简单的,但是任何人都可以提供一些简单的c#代码来启动当前配置的屏幕保护程序吗?
我在C#和Windows Forms中编写了一个屏幕保护程序.为了测试我已经懒,只是用我所有的设置配置文件(无设置对话框还),但该计划似乎无法找到或读取配置文件时,Windows上运行屏幕保护程序.
它在我使用预览按钮或以任何方式手动运行时都有效,只有当它达到屏幕保护程序超时时它才能找到配置文件.
记录AppDomain.CurrentDomain.SetupInformation.ConfigurationFile它返回短名称:C:\Windows\System32\MYSCRE~1.config
它应该在哪里C:\Windows\System32\MyScreenSaverName.scr.Config
所以我猜测问题是它无法找到带有短名称路径的配置文件.
不确定它是否由于Windows 7运行屏幕保护程序的系统帐户,或者其他方式如何运行.任何信息都会有所帮助,谢谢.
编辑:尝试找出任何差异:
Environment.CommandLine返回C:\Windows\system32\MYSCRE~1.SCR /s,但是当我运行屏幕保护程序时它具有正常路径Process.GetCurrentProcess().StartInfo都是一样的WindowsIdentity.GetCurrent().Name 是我的帐户名称看看其他问题,似乎User32是启动屏幕保护程序的,所以我认为它必须是如何启动scr进程.
解决方法:将.scr文件重命名为8个字符或更少,使其正常工作.所以现在有效,仍然会想知道为什么存在这个问题.
是否有可能检测到Daydream是打开还是关闭?如果是这样,怎么样?
编辑:为了澄清,我希望阅读DayDream的系统设置(很像飞机模式和其他设置).你可以从Intent.ACTION_DREAMING_STARTED和Intent.ACTION_DREAMING_STOPPED推断它,但它不是一回事.
screensaver ×10
.net ×2
c# ×2
windows ×2
android ×1
cocoa ×1
command ×1
console ×1
creation ×1
flash ×1
javascript ×1
keep-alive ×1
linux ×1
macos ×1
objective-c ×1
windows-7 ×1
xna ×1
youtube ×1