问题标签 [screensaver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
660 浏览

c# - Windows 屏幕保护程序多显示器问题

我编写了一个简单的屏幕保护程序,它已部署到我们公司的所有客户端 PC 上。

由于我们的大多数 PC 都有双显示器,因此我注意确保屏幕保护程序在两个显示器上都运行。

这可以正常工作,但是在某些系统上,主屏幕已被交换(到左侧监视器),屏幕保护程序仅适用于左侧(主)屏幕。

有问题的代码如下。谁能看到我做错了什么,或者更好的处理方法?

对于信息,“this”的上下文是屏幕保护程序表单本身。

0 投票
3 回答
475 浏览

c# - C# 屏幕保护程序:提供 HWND 的配置对话框模式

我正在开发一个 C# XNA 屏幕保护程序套件,到目前为止,一切都已就绪,除了配置对话框必须是 Windows 提供的屏幕保护程序设置对话框的模式(“/c:<hwnd>”参数)。

我的基准是 Vistas 内置的3D 文本屏幕保护程序 - 我的代码应提供相同的功能,并且关于配置对话框,3D 文本显示完全模态到屏幕保护程序设置对话框,当单击屏幕保护程序设置对话框时,对话框会闪烁而不接受点击。

我已尝试按照Ryan Farley的建议使用 IWin32Window 包装 HWND 的方法,但即使我的对话框显示在屏幕保护程序设置对话框的顶部,仍然可以单击屏幕保护程序设置对话框中的控件。

那么我是否需要一些奇异的 Win32API 调用来通知父对话框它已被模态化或者是否存在更干净的解决方案?

0 投票
2 回答
2756 浏览

java - 如何确定屏幕保护程序是否在 Java 中运行?

我的应用程序会定期在屏幕上显示信息。但是如果屏幕截图是活动的,应用程序应该等到用户返回。

有什么方法可以确定屏幕保护程序是否正在运行?

我不需要一个干净的解决方案,你只需要在 windows xp 上工作。

类似的问题,但其他技术: 如何确定屏幕保护程序正在运行?

0 投票
2 回答
12699 浏览

.net - 在 Windows 7 中禁用和启用屏幕保护程序

我有一个应用程序临时禁用屏幕保护程序以运行幻灯片放映。我用它来打开或关闭它:

这在 XP 中运行良好。在 Windows 7 中,它会正确禁用屏幕保护程序。但是,当它再次启用时,在屏幕保护程序的正常启动时间,系统会要求输入密码而不是显示屏幕保护程序。

从此时起,直到在控制面板中调整屏幕保护程序设置为止,密码屏幕将代替屏幕保护程序显示。

我还应该为 Windows 7 做些什么吗?我了解 Windows 7 不支持 SPI_GETSCREENSAVEACTIVE,但应该支持 SPI_SETSCREENSAVEACTIVE。

0 投票
5 回答
562 浏览

c# - 屏幕保护程序应用程序不读取 App.Config

我用 C# 编写了一个屏幕保护程序,但是每当我在预览模式下运行它或让它启动时,它都会引发异常。当我在 Windows\System32 中双击它时,它运行良好。使用 Visual Studio 调试器,我发现它不会读取应用程序的 .config 文件,该文件也在 Windows\System32 中。

我认为当 rundll32.exe 执行屏幕保护程序时,app.config 文件被省略了。有没有办法强制它加载?

谢谢

0 投票
6 回答
21629 浏览

java - 将 Java 应用程序变成 Windows 屏幕保护程序

我写了一个程序,用深度优先搜索解决迷宫问题。我想知道如何将这个 Java 程序变成一个屏幕保护程序应用程序?当屏幕保护程序通常被激活时,Windows 7 是否可以启动我的应用程序?

0 投票
1 回答
333 浏览

performance - 屏幕保护程序会损害 CUDA 性能吗?

我注意到屏幕保护程序启动的那一刻,我的 CUDA 内核的运行时间几乎增加了两倍。即使它是空白屏幕保护程序,也会发生这种情况。

奇怪的是,这似乎与电源设置无关。当我禁用屏幕保护程序并关闭屏幕电源时,性能保持不变。当我将“关闭显示器”设置为“从不”并让屏幕保护程序启动时,它就会发生。

为什么会这样?
有没有办法抵消这种现象?
有没有办法告诉Windows不要启动屏幕保护程序?(媒体播放器是如何做到的?)

我正在使用 XP SP2 x64

0 投票
3 回答
1496 浏览

windows - 接收屏保通知

当屏幕保护程序即将启动时,我想在我的 C++ 应用程序中收到通知。我试着听一些人认为应该起到作用的WM_SYSCOMMAND消息。那没有用。Spy++ 甚至显示我的窗口没有收到任何消息。有趣的是,当我关闭显示器时,我确实收到了消息。我理解错了吗?还是我只是错过了什么?wParam == SC_SCREENSAVEWM_SYSCOMMANDwParam == SC_MONITORPOWER

编辑:为了测试,我使用了默认的 windows 屏幕保护程序(带有 windows 徽标的屏幕保护程序)。

0 投票
2 回答
1287 浏览

c# - 如何控制下拉列表中显示的屏幕保护程序名称?

我有一个可用的屏幕保护程序,想弄清楚如何控制 Windows 在屏幕保护程序下拉列表中显示的名称。目前这一切似乎都基于文件名,但我知道不可能是这种情况。这是我尝试过的方法和结果:

文件名:CC.Votd.scr屏幕保护程序名称:Cc

文件名:CC Votd.scr屏幕保护程序名称:Cc Votd

我想命名文件CC.Votd.scr并将屏幕保护程序名称显示为CC.Votd(大写对我来说很重要,所以甚至CC Votd可以:-))

我很确定这是可能的,因为Photos屏幕保护程序是PhotoScreensaver.scr

在此先感谢您的帮助。

0 投票
1 回答
372 浏览

c# - 我如何知道何时在显示属性对话框中选择了不同的屏幕保护程序?

好吧,谷歌今晚不是我的朋友......

我有一个屏幕保护程序CC.Votd(Codeplex 上的完整源代码),并且我刚刚开始实现运行正常的预览模式(/p 参数)。当它处于预览模式时,我将我的表单设置为小计算机监视器窗口的子窗口,然后它会在那里绘制。

这工作正常,如果显示属性对话框消失,我的应用程序将退出。

问题是,如果我从列表中选择我的屏幕保护程序,然后选择不同的屏幕保护程序,我的会继续运行并绘制新选择的屏幕保护程序的预览。

那么我怎么知道何时选择了不同的屏幕保护程序并且我的应该关闭?


编辑:对于 Anon,这是我用来使我的表单成为预览窗口的子窗体的代码:

P/调用:

编码:

完整的表单代码:http ://ccvotd.codeplex.com/SourceControl/changeset/view/40085#862458


忘了提及我尝试使用IsWindowVisible()但没有工作,因为预览窗口仍然可见并且与选择我的屏幕保护程序时具有相同的句柄。

编辑:在我添加SetParent()和关联调用之前,我的应用程序将在显示对话框关闭后继续运行,所以我认为该部分正在工作,并且当用户选择不同的屏幕保护程序时会发生不同的事情。


正如 John K 建议的那样,我一直在使用 Spy++ 查看我的表单。我从来没有看到应用了 WS_CHILD 样式。然而,我所有的调试都表明它应该是。我将代码修改为:

最后三个跟踪的样式相同,其中两个应该是从表单本身获取值。去研究我的原生 API 调用并清理它们的声明,看看我能弄清楚什么。

感谢您迄今为止的所有帮助!


解决方案:问题最终是我设置了表单的几个属性,导致底层 .NET 控件覆盖了我的新样式。所以改变:

至:

修复了问题。简单的错误:-)


解决它的正确方法...覆盖 CreateParams: