标签: screensaver

如何确定屏幕保护程序正在运行?

人们可以建议的一个解决方案是定期寻找一个特殊的"屏幕保护程序"桌面,如果它存在,那么将其计为运行的屏幕保护程序.

但显然所有屏幕保护程序都不是这种情况,因为一些提到的桌面总是存在.

有更可靠的解决方案吗?

windows winapi screensaver

4
推荐指数
1
解决办法
3869
查看次数

什么是以编程方式模拟用户输入的简单方法?

我有一个由于错误条件而弹出的对话框.我希望对话框保持打开状态至少30秒,并在收到最后一个用户输入(鼠标或键盘)后关闭30秒.

我可以通过检查GetLastInputInfo返回的值并在超过30秒之前关闭对话框来实现这一点,但是如果当用户没有使用鼠标或键盘30秒时弹出对话框,则GetLastInputInfo测试通过立即,对话框立即再次关闭.我可以用另一个计时器做到这一点,但我认为在对话框打开之前模拟鼠标移动或者发出一个(无害的)按键要简单得多.它也可能具有将系统从屏幕保护程序中踢出的优点.

什么是最简单的1行Delphi代码片段来实现这一目标?

delphi keypress screensaver delphi-2006 mouseevent

4
推荐指数
1
解决办法
1685
查看次数

Ubuntu,锁定屏幕但不屏幕保护

当我不再使用图形会话时,屏幕保护程序会自动锁定它并关闭屏幕电源以节省能源。

我希望它保持锁定会话状态但不关闭屏幕电源,这可能吗?

我将Ubuntu 18.04与默认的gnome显示管理器一起使用。

谢谢,

马蒂亚斯

gnome screensaver gdm ubuntu-18.04

4
推荐指数
1
解决办法
2318
查看次数

屏幕保护程序如何在 Mac OS X 和 Linux 上工作?

在 Windows 中,屏幕保护程序只是一个带有转储在 system32 中的.scr扩展名的可执行文件,它由三个开关控制(我认为是 /p、/c 和 /s)。

屏幕保护程序如何在 Mac OS X 和 Linux 上工作?它们在 Mac OS X 和 Linux(Gnome、KDE、Ubuntu 或任何不同之处)中的工作方式相似还是完全不同?

另外,它们可以用 C#/Mono 开发吗?

c# mono cross-platform screensaver

3
推荐指数
1
解决办法
2256
查看次数

如何检查屏幕保护程序是否正在运行?

我有一个用bash编写的脚本,我需要采取不同的路由,以防屏幕保护程序当前正在运行.这是Linux与Xorg和KDE.脚本是从cron调用的,它连接到DISPLAY =:0.

任何提示/想法如何检查屏幕保护程序的状态?

linux x11 kde screensaver

3
推荐指数
1
解决办法
5299
查看次数

3
推荐指数
1
解决办法
3839
查看次数

c ++ WinApi:GetClientRect失败

我正在编写在Windows上运行的屏幕保护程序.

在预览模式下,Windows以这种方式调用程序:
Screensaver.exe /p ParentWindowHandle

但是,当我在我的程序中进行此调用时:
BOOL res = GetClientRect(parentWindowHandle, rect)
res为FALSE,rect为NULL,我得到ERROR_INVALID_WINDOW_HANDLEGetLastError()

GetWindowRect 给了我相同的结果.

但是,如果我拨打电话BOOL res = IsWindow(parentWindowHandle),我会得到res == TRUE.这不是说我有一个有效的窗口句柄吗?

代码如下所示:

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
    unsigned int handle = GetHandleFromCommandLine(pCmdLine); // Custom function (tested and approved :) )
    HWND parentWindowHandle = (HWND) handle;
    LPRECT rect = NULL;
    BOOL res = GetClientRect(parentWindowHandle, rect);
    // here, rect == NULL, res == FALSE and GetLastError() returns ERROR_INVALID_WINDOW_HANDLE

    // ...
    // ... …
Run Code Online (Sandbox Code Playgroud)

c++ winapi screensaver

3
推荐指数
1
解决办法
4104
查看次数

ADB 命令启动屏幕保护程序活动

我正在疯狂地寻找启动屏幕保护程序活动的方法,该活动可以从“设置”>“显示”>“屏幕保护程序”启动。我想从 ADB 模拟单击​​屏幕保护程序选项中的“立即启动”选项,因为我需要配置一些电视以根据需要快速启动屏幕保护程序。

我使用 Android x86 Nougat stable 通过 Intel 棒连接所有这些设备,我可以通过 wifi 进行 adb,没有任何问题,我什至安装了 Simple SSH,以便在需要时通过 SSH 进行访问。

键事件正在工作,但没有键事件来启动屏幕保护程序,只是模拟电源关闭按钮,这会导致无线连接断开,无论在睡眠/省电设置中配置什么。

有机会解决这个问题吗?

谢谢!

android screensaver adb

3
推荐指数
1
解决办法
3984
查看次数

如何正确设计 macOS 屏幕保护程序?

我正在尝试对我的 macOS 屏幕保护程序项目进行协同设计,以消除“身份不明的开发人员”警告消息。苹果的文档和苹果论坛上的这个人都说你应该使用“开发者ID应用程序”签名证书来做到这一点。但这似乎对我不起作用。

当我按照Apple 关于如何测试正确签名的说明进行操作时,我得到的响应如下:

Screensaver.saver: rejected (the code is valid but does not seem to be an app)
Run Code Online (Sandbox Code Playgroud)

我的签名设置如下所示:

在此输入图像描述

我不确定此时我还应该尝试什么。我主要担心未来 Mac 应用程序必须经过签名/公证的传言,这对屏幕保护程序意味着什么?

macos xcode code-signing screensaver

3
推荐指数
1
解决办法
886
查看次数

Cocoa屏幕保护程序配置面板自由浮动

我正在使用Cocoa的ScreenSaver API编写屏幕保护程序.它是为64位arch编译的,我在Lion上运行它.

为了启用配置,我在主视图中添加了以下内容:

- (BOOL)hasConfigureSheet
{
    return YES;
}

- (NSWindow*)configureSheet
{
    if (configureSheet == nil) {
        if (![NSBundle loadNibNamed: @"WTConfigureSheet" owner: self]) {
            NSLog(@"Failed to load config sheet");
            return nil;
        }
    }

    ScreenSaverDefaults *defaults =
        [ScreenSaverDefaults defaultsForModuleWithName: WTModuleName];

    backgroundColorWell.color = [defaults objectForKey: @"BackgroundColor"];
    lightLetterColorWell.color = [defaults objectForKey: @"LightLetterColor"];
    darkLetterColorWell.color = [defaults objectForKey: @"DarkLetterColor"];

    return configureSheet;
}
Run Code Online (Sandbox Code Playgroud)

新安装保护程序后,单击"选项"使配置页不显示为工作表,而是在屏幕上自由浮动,没有边框.否则,它会正常工作并在被解雇后消失.

当我再次单击"选项"时,配置页再次出现,这次正确显示为首选项窗口的一页.然后立即冻结,以便我无法点击任何控件.

有谁知道导致这种行为的原因是什么?

cocoa screensaver

2
推荐指数
1
解决办法
556
查看次数