开发环境: VS2005 Winxp
有如下代码:
public Form1()
{
InitializeComponent();
SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);
}private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
if (e.Mode == PowerModes.Suspend)
{
................
}
if (e.Mode == PowerModes.Resume)
{}
}
在WindForm下好用,可以监测到 本地机器的standby resume 状态。
但是将这段 代码 移植到 Windows Service后 根本不会响应这个事件'SystemEvents_PowerModeChanged'。
请知道的给解惑一下。如何修改 Windows Service下的代码 可以监测到 pc standby 的状态呢。
有如下代码:
public Form1()
{
InitializeComponent();
SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);
}private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
if (e.Mode == PowerModes.Suspend)
{
................
}
if (e.Mode == PowerModes.Resume)
{}
}
在WindForm下好用,可以监测到 本地机器的standby resume 状态。
但是将这段 代码 移植到 Windows Service后 根本不会响应这个事件'SystemEvents_PowerModeChanged'。
请知道的给解惑一下。如何修改 Windows Service下的代码 可以监测到 pc standby 的状态呢。
解决方案 »
- Excel.Application excel = new Excel.Application()抛出异常???
- mschart 制作统计图
- 怎么把数据库的某一条记录保存到记事本
- 如何取出字符串右边最后三个字符
- 请教:RequiredFieldValidator问题
- sharpdevelop怎么添加引用,右击没有反应
- DataGrid只能显示设置了DataGridColumnStyle的列吗?
- 在一個CS文件里定義了一個class,在另一個aspx文件不能調用
- BINGDINGSOUCE的使用方法,高分请教!在线等待!
- C#如何禁止窗口或者控件重画?
- 送分题dt.select()怎么用?
- 请教 impersonation 用户在多线程中应用的问题
System.Management.ManagementEventWatcher
Win32_PowerManagementEvent 事件
{
public Service1()
{
InitializeComponent();
} protected override void OnStart(string[] args)
{
this.CanHandlePowerEvent = true;
}
protected override bool OnPowerEvent(PowerBroadcastStatus powerStatus)
{
switch (powerStatus)
{
case PowerBroadcastStatus.QuerySuspend: break;
case PowerBroadcastStatus.PowerStatusChange: break;
}
return base.OnPowerEvent(powerStatus);
}
...
}