111,126
社区成员
发帖
与我相关
我的任务
分享public class SystemPowerManager
{
private Timer tmrGetPowerStatus;
private SYSTEM_POWER_STATUS_EX2 powStatus;
public TimerCallback GetPowerStatusCallback;
public SystemPowerManager()
{
GetPowerStatusCallback = GetSystemPowerStatus;
tmrGetPowerStatus = new Timer(GetPowerStatusCallback, powStatus, 0, 2000);
}
private void GetSystemPowerStatus(object status)
{
NativeMethods.GetSystemPowerStatusEx2(ref powStatus, (uint)Marshal.SizeOf(powStatus), false);
}
}
public class A
{
public EventHandler myEvent;
public A()
{
this.myEvent += MyMethod;
}
public void MyMethod(object sender, EventArgs e)
{
Console.WriteLine("A::MyMethod");
}
public void Run()
{
if (this.myEvent != null)
{
myEvent(this, null);
}
}
}
public class B
{
public B()
{
}
public void MyMethod(object sender, EventArgs e)
{
Console.WriteLine("B::MyMethod");
}
}
A a = new A();
B b = new B();
a.myEvent += b.MyMethod;
a.Run();
public SystemPowerManager()
{
GetPowerStatusCallback = GetSystemPowerStatus;
GetPowerStatusCallback += TimerCallbackTest;
tmrGetPowerStatus = new Timer(GetPowerStatusCallback, powStatus, 0, 2000);
}
private void TimerCallbackTest(object status)
{
System.Threading.Thread.Sleep(1000);
}