问题标签 [windows-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 回答
150 浏览

c# - 为什么屏幕保护程序控制面板死后不会杀死我的表单?

使用我在 CodeProject 上找到的代码,我创建了一个屏幕保护程序。下面的表单是当用户选择我的屏幕保护程序时我在控制面板中显示的一个很小的表单。

一切似乎都运行良好;表单在控制面板的正确位置正确调整大小并绘制(它是空白的),随着 CP 移动等。但是当控制面板关闭(或用另一个屏幕保护程序的迷你预览替换我的表单)时,我的应用程序不会死。它只是挂在记忆中。

我的表单没有收到表单关闭/关闭消息或可见性更改等。我在这里没有正确设置父母身份吗?

这是相关的代码。所有导入的 WinAPI 调用都返回预期值,而 GetLastError 总是返回零,所以我认为这不是问题......

我在各种“表单正在关闭”事件处理程序中有 Application.Exit,但它们从未被调用...

0 投票
1 回答
131 浏览

c# - 如何获取启动我的应用程序的进程?

尽管您阅读了这些内容,但事实证明 Windows 屏幕保护程序“不仅仅是”重命名为 .scr 的 .exe。.scr 文件不像 EXE 那样直接“启动”。相反,Windows 在 .scr 文件中查找可执行文件,并使用 Windows 想要提供可执行文件的任何命令行参数重新启动该可执行文件。

这意味着,如果您使用自己的参数(例如,“myscreensaver.scr /windowed /doublebuffered”)创建 .scr 文件的快捷方式,当您使用该快捷方式时,Environment.CommandLine 会显示启动的是“myscreensaver .scr /S”。请注意,我的参数已被替换。

我在这里了解/s、/c 和/p 参数的作用。这无需解释,我在屏幕保护程序中正确使用了它们。但我也想恢复原来的参数。是否可以获取启动我的进程的进程的名称,并获取提供给进程的命令行参数?

0 投票
0 回答
26 浏览

windows - 当屏幕保护程序启动时,Windows 是否会终止某些端口上的通信?

我有一些交易软件,并注意到只要屏幕保护程序打开,信号就不会发送给经纪人。屏幕保护程序打开时,Windows 是否会终止某些端口的通信?

0 投票
2 回答
739 浏览

c# - 如何检查 Windows 锁定设置?

我有一个 Windows 窗体,需要能够检查 Windows 屏幕保护程序设置(它是否处于活动状态,是否在 15 分钟内,是否“恢复时,显示登录”处于活动状态)基本上如果所有这些都是真的,用户会得到一个很好的如果不是,则大 PASS 用户在文本框中获得大失败。我在网上看了看,没有发现任何东西可以做到这一点。我在想我会通过 Windows 注册表检查设置,因为无论如何我都必须对其他系统设置执行这种方法。

(我曾经使用 BAT 来完成此操作,我将在下面发布上下文,但我需要与 vista 和 up 兼容的东西,以用户友好的方式显示结果)

0 投票
1 回答
135 浏览

delphi - Windows 打开屏幕保护程序设置时传递的数字是多少?

我正在编写屏幕保护程序,并检查参数/c以查看是否必须启动屏幕保护程序,或者是否应显示设置窗口。

在此处输入图像描述

我发现传递的实际参数/c后面是一个数字, ic 3805726,完整的参数是

这个数字是什么意思?

0 投票
1 回答
733 浏览

windows - Windows 事件 id 4802 和 4803 同时触发(调用和解除屏幕保护程序)

事件 id 4803(关闭屏幕保护程序)在事件 id 4802(调用屏幕保护程序)之后立即触发。请注意,屏幕保护程序实际上仍处于打开状态,直到检测到用户交互。

在此处输入图像描述

我正在使用 Windows 8.1。在 Windows 7 上,事件 id 4803 被正确发出,即在屏幕保护程序关闭后由用户交互触发。

为什么事件 id 4803 在 4802 之后立即触发?

更新:我一直在测试 Windows 7 的屏幕保护程序调用/关闭机制,似乎如果启用了 youtube,也会发生同样的事情。

0 投票
2 回答
382 浏览

c# - c#检测所有按键(Windows 8.1)

我为我的 Media Center PC(运行 Windows 8.1)编写了一个屏幕保护程序。这是一个简单的 Windows 窗体应用程序,它随机显示“我的图片”文件夹中的所有图片,用文件夹、文件名、拍摄日期等为每张图片添加标题。它处理 Click、MouseMove 和 KeyDown 事件,如果收到则终止。

它工作正常,除了如果我按下 Media Center 遥控器上的某些键(比如显示我所有录音的那个键),屏幕保护程序不会终止。好像这些键不会生成 KeyDown 事件。

我尝试放入一个全局键盘挂钩,但它似乎没有被调用 - 我有一个模糊的记忆,这些在更高版本的 Windows 中是不允许的。

关于如何从 C# Windows Forms 应用程序远程检测媒体中心上的所有键的任何建议?

源代码在github上

0 投票
1 回答
108 浏览

c# - windows 8下如何中断屏保

我想知道如何在Windows 8(嵌入式版本)或Windows 10下中断屏幕保护程序,因为我的项目的一个窗口(C#)只能在正常状态下运行,否则在屏幕保护程序下运行会出错。所以我想在这个窗口弹出之前中断屏幕保护程序。

我研究了一些解决方案和想法,包括如下,

  • 一个。移动鼠标(使用 user32 的 mouse_event api)
  • 湾。发送密钥(也使用了 user32 的 api)
  • C。杀死屏幕保护程序。

a & b 都是我尝试过的方式,在windows 10上运行良好,但在windows 8(嵌入式版本)上不起作用,所以目前我只关注c方式,关于c方式我搜索如下关联,

https://support.microsoft.com/en-us/help/140723/how-to-force-a-screen-saver-to-close-once-started-in-windows-nt,-windows-2000,-和-windows-server-2003

https://www.codeproject.com/Articles/17067/Controlling-The-Screen-Saver-With-C

但是上面的链接在windows 10和windows 8(嵌入式版本)上仍然不起作用,哪位专家给我一些建议?提前致谢。

0 投票
1 回答
439 浏览

c# - 带有旧版 .NET 3DEngine 的 C# 屏幕保护程序 - 构建配置

我编写了一个 C# 屏幕保护程序,它可以在预览(安装)模式、配置甚至测试模式下工作。但是,当达到 Windows 计时器启动它时,屏幕变黑,我看到鼠标加载图标 2-3 秒,然后屏幕恢复到桌面上。

我在我的第一行代码中添加了一个日志文件条目,main()并且似乎该代码在由 Windows 启动时永远不会运行。

在 Windows 10 上使用 Visual Studio 2017。

由于我使用的是旧的 3D 引擎,因此我确保修改了 app.config:

我将 Screensaver.exe 重命名为 Screensaver.scr,并将 app.config 重命名为 Screensaver.scr.config。将这些与我的引擎 dll 复制到 SysWOW64 文件夹中。

构建平台目标 = x86。

我尝试了调试和发布版本......并且我使用相同的代码结构来做一个显示文本的屏幕保护程序的简单示例并且它有效,因此我真的认为问题来自于 3D 引擎 dll 的使用。

你们有什么建议吗?配置中是否有一些适用于 .scr 的特殊性?在任何地方都找不到任何线索,我不知道......

如果有帮助,这里是主要代码:

0 投票
1 回答
77 浏览

java - Java屏幕保护程序加载错误的主类,有什么想法吗?

我正在使用 Java、JavaFX、JavaFX Packager、Gradle JavaFX Packager 插件等构建 Windows 屏幕保护程序。我使用此配置生成各种可执行文件:

在配置、预览和测试屏保时,一切正常,但当屏保实际运行时,主类似乎DisplayerApp不是WinScreensaverApp.

任何想法为什么或如何收集有关正在发生的事情的更多信息?

我设法找到了 Windows 命令行:

来自过去的爆炸!但是我在控制台中手动运行该命令,我调用了适当的启动器。