- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 WinForms 应用程序,它跟踪系统何时进入挂起状态( sleep )和何时恢复。应用程序使用 SystemEvents
为此目的的类。它在我的机器上运行良好。然而,对于某些用户来说,事件似乎是 PowerModes.Resume
并不总是提出。应用收到多个 PowerModes.Suspend
没有任何 PowerModes.Resume
这中间很奇怪。
我的主要问题是这怎么可能发生以及如何避免它并使简历检测可靠?
代码非常简单,基本上遵循(非常缩短):
Imports Microsoft.Win32
Friend Class TehClass
Implements IDisposable
Private Sub New()
AddHandler SystemEvents.PowerModeChanged, AddressOf Me.System_PowerModeChanged
End Sub
Private Sub System_PowerModeChanged(sender As Object, args As PowerModeChangedEventArgs)
Log.Info("Power mode changed: {0}.", args.Mode)
End Sub
#Region "IDisposable Support"
' just dropping handler there
#End Region
End Class
TehClass
的实际实例的引用。 .
[2015-09-15 22:38:38,501] Power mode changed: Suspend.
[2015-09-16 07:10:31,106] Power mode changed: Resume.
[2015-09-16 08:54:21,112] Power mode changed: Suspend.
[2015-09-16 09:14:36,252] Power mode changed: Suspend.
[2015-09-16 09:35:21,077] Power mode changed: Suspend.
[2015-09-16 09:55:36,085] Power mode changed: Suspend.
[2015-09-16 10:15:50.122] User reported this log therefore the PC had to be in Working (Resumed) state.
最佳答案
同意 Hans 150%,不喜欢使用 Windows 电源管理。最好的办法可能是创建一个轻量级服务,它始终运行并在软件启动时通知您的软件;已经有一段时间了,但我相信服务可以在它们再次开始运行、启动、暂停等时立即触发事件......
您可以混合使用这两种方法,并在记录系统暂停之前确认 sleep 是服务停止的原因。然后使用服务启动/恢复事件重新打开一切。您可能可以根据其他使用此数据的方式将日志记录逻辑放入您的服务中。
这是来自 msdn 的 on continue 事件信息:https://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.oncontinue(v=vs.110).aspx
关于.net - SystemEvents.PowerModeChanged 不引发恢复事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32625511/
我有一个 WinForms 应用程序,它跟踪系统何时进入挂起状态( sleep )和何时恢复。应用程序使用 SystemEvents为此目的的类。它在我的机器上运行良好。然而,对于某些用户来说,事件似
我想让我的程序在计算机要休眠时写入控制台,但我无法这样做。我想我设置错了。这是我的... 编辑:新建 .cs 文件 using LightFX; using System; using System.
我想在计算机挂起时运行一些保存例程。因此,我使用 OnPowerChange-Event 来检测它何时暂停和恢复。不幸的是,我的保存例程需要 3-5 秒才能执行。 当我收到挂起事件时,计算机会在 1-
在非表面设备中测试下面的代码工作得很好,但是当我在表面上尝试时,我只会在拔下电源线时收到通知(“statusChange”powerMode 被触发)。将表面置于 SLEEP 处理程序,它不会被调用(
我正在开发一个 VSTO 应用程序级 Word AddIn 和一个 WPF 应用程序,这两个应用程序都需要在系统进入休眠状态并随后恢复时得到通知。我已将我的事件处理程序绑定(bind)到每个应用程序中
我是一名优秀的程序员,十分优秀!