问题标签 [system-shutdown]

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 回答
641 浏览

windows - 拦截 WM_ENDSESSION 消息

是否可以拦截 WM_ENDSESSION 消息以防止另一个应用程序接收它?

我想命令该应用程序在 Windows 重新启动或关闭之前执行附加操作,并且无法以这种方式配置应用程序。

该应用程序是屏幕录像软件,它只是在 Windows 关闭时丢弃视频。我需要防止这种情况并保存视频。

0 投票
0 回答
1925 浏览

python - 远程关闭在 Python 中不起作用

我正在尝试使用 Python 2.7.7 编写一个小脚本,该脚本将 ping IP 地址并确定该 PC 是打开还是关闭,并相应地更改该系统的电源状态。我严重依赖 Python 模块subprocesswakeonlan. 我在 ping 或使用 WOL 时没有任何问题,但关机功能的行为非常奇怪。

使用shutdown -s -t 0 /m \\XXX.XXX.X.X命令提示符中的命令可以正常工作,以及 cmd 中 Python 交互式 shell 中的以下命令:

但是从 Python 脚本中运行相同的命令会返回此错误:

XXX.XXX.X.X: 输入的计算机名称无效或目标计算机不支持远程关机。检查名称,然后重试或联系您的系统管理员。(53)

有没有我没有考虑的背景行为?也许与子流程模块有关?提前致谢!

0 投票
1 回答
1107 浏览

.net - 使用 C# winforms 捕获 Windows 10 重启/关闭事件

我正在尝试使用 C# winforms 捕获 Windows 10 重启/关闭事件。我正在编写一个需要完整记录空闲时间、锁定/解锁和 Windows 重新启动/关闭/注销时间戳的应用程序。

您能帮我指导相关链接或帖子吗,谢谢

0 投票
1 回答
129 浏览

c# - 保存 WindowState 并在重启后恢复它 /relogin

我正在开发一个应存储其窗口状态(正常/最小化)的 WPF 应用程序 - 即使系统正在关闭或注销。

WindowClosing 事件用于存储状态。问题是,关闭/注销会强制关闭窗口。因此,重新启动后窗口状态总是最小化。

  • 有没有一种安全的方法来检查系统是否正在关闭?(我试过了Environment.HasShutdownStarted,但 id 没有用)。
  • 除了 WindowClosing 事件之外,有没有办法获得有关窗口状态更改的通知?

[编辑] 标记为重复的问题的答案并不令人满意:

  • SystemEvents.SessionEnding不是一个合适的解决方案,因为msdn说:“如果您在 Windows 窗体中使用 SessionEnding 来检测系统注销或重新启动,则没有确定性的方法来确定 Closing 事件是否会在此事件之前触发。”

  • GetSystemMetrics(SM_SHUTTINGDOWN)可能有效(我没有测试它),但它需要 PInvoke,我更喜欢托管解决方案。

  • 所以最后,来自 d.moncada 的建议(使用Application.SessionEnding事件)是解决我的问题的最佳解决方案。

0 投票
1 回答
1273 浏览

windows - 检测通过 cmd 播放的媒体播放器

如何检测媒体播放器是否已停止播放?

请回答 Windows Media Player。我需要它通过 cmd\bat 进行检测。

我需要做的就是在播放完播放列表后关闭 Windows Media Player。到目前为止,我有:

基本上我正在制作一个程序,我可以将某些文件放在 Windows Media Player 的特定播放列表中,然后打开程序,播放所有文件,然后关闭 PC。

到目前为止,我已经设置了启动 WMP(Windows Media Player),播放播放列表,然后检测 WMP 是否打开,如果没有,则关闭 PC。

如果是,它会在循环中再次检测。

唯一的问题是播放列表完成后关闭 WMP。

这是我的完整代码:

0 投票
1 回答
740 浏览

c# - 强制 System.Diagnostics.Process.Start("shutdown", /s /t 0")

是否可以在“/s”之前添加“/f”?与将“-f”添加到“shutdown -t 0 -r”的方式类似。

换句话说,我怎样才能强制关机。

0 投票
2 回答
82 浏览

java - 无法使用 Java Shutdown Hook 在 COMPUTER'S LOGOUT 上存储注销时间

当用户注销或登录计算机时,我试图将时间存储到数据库中,但是当我注销计算机时,它不会将当前时间存储到数据库中,如果我按下ctrl+c控制台或终止程序从 NETBEANS 它也存储注销时间。我在哪里做错了?这个你能帮我吗。下面是我的代码。先感谢您。

0 投票
1 回答
475 浏览

c# - C# 服务 InvokeMethod 在 Windows 关闭期间失败

我有一个 Topshelf C# 服务,它必须在退出时恢复适配器 DNS 设置。我的停止/启动方法工作得很好,这段代码有效:

然而,关闭是一个问题,即使RequestAdditionalTime

我记录以下错误:

所以看来操作系统正在阻止我调用ManagementObject.InvokeMethod

我受阻了。有没有办法解决这个问题?在启动时,我的服务检测到异常并恢复,但这需要太长时间。我真的很想能够优雅地关闭。

0 投票
2 回答
1685 浏览

windows - 找出何时执行 shutdown -s

我有一台知道何时停电的主计算机。然后,该主计算机将使用内置的“shutdown /m \computername /s”命令告诉所有工作站通过网络关闭。该主计算机还将使用相同的shutdown /m \\computername /r机制告诉各个工作站重新启动。

每个工作站都有一个脚本,在执行时会保存所有重要数据。

当被告知通过网络(shutdown /m \\computername /sshutdown /m \\computername /r)关闭或重新启动时,每个工作站都必须执行其脚本。

想法1:

  • 使用 WM_QUERYENDSESSION 事件查明何时发生关机/重启。
  • 取消关机/重启。
  • 运行脚本。
  • 继续关机/重启(问题:我看不到确定主计算机是否已发出关机或重启的合理方法。)

想法2:

  • 等到shutdown.exe 进程存在。
  • 检索该进程的命令行参数
  • 杀死那个进程
  • 运行脚本。
  • 使用检索到的参数运行 shutdown.exe。

问题:shutdown.exe 实际上并没有被执行。即使您在本地运行简单的shutdown -s -t 30.

理念3:

  • 嗅探传入的网络流量。
  • 寻找 shutdown -m 数据包
  • ...

问题:我不知道正在使用什么协议以及数据包的格式。

想法4:

  • 监控事件日志
  • 希望它包含有关已发出哪种关闭的信息

问题:我不知道是否以及在哪里记录。

PS:
我不想使用 PsExec。工作站必须自己执行它们的脚本。

0 投票
0 回答
2113 浏览

c# - C# 检测窗口关闭

我希望我的 C# 服务在 Windows 关闭之前执行一些任务。我看到有一个事件SystemEvents.SessionEnding Event。但是,它似乎无法区分注销和系统关闭。有人知道检测关机的方法吗?谢谢。

这不是以下问题的重复,因为我专门引用 Shutdown not Shutdown|Logoff: How to detect Windows shutdown or logoff