I'm trying to write a Windows Forms application for laptops that amoung other things monitors the power supply in the background. So far, the only thing I've found in .NET that is remotely useful is the SystemEvents.PowerModeChanged event. But this is ve
ry limited. For example, it doesn't tell you whether the laptop is plugged into an AC outlet or is using battery power. Nor does it tell you how much battery power you have left.

There's also a PowerBroadcastStatus event, but as far as I can tell, this can only be called within Windows services and I'm not creating a Windows service.

I'm wondering if this is just a limitation of the .NET Framework and I'll have to resort to using unmanaged APIs to do what I want.

If anyone can give me any advice or direction, I would greatly appreciate it.

Thanks.