POWERCFG has the answer to that question and many others, like -LASTWAKE will tell you why your machine resumed form sleep or hibernate. I used to run into an issue where I'd wake up in the morning and find my laptop was at perfect temperature to cook an egg, used -LASTWAKE to find out why...
C:\Windows\system32>powercfg -AVAILABLESLEEPSTATESThe following sleep states are available on this system: Standby ( S3 ) Hibernate Hybrid SleepThe following sleep states are not available on this system:Standby (S1)The system firmware does not support this standby state.Standby (S2)The system firmware does not support this standby state.
C:\Windows\system32>powercfg -LASTWAKEWake History Count - 1Wake History Wake Source Count - 0
The LASTWAKE info I supplied above wasn’t too helpful. LASTWAKE is dependent on your hardware and drivers and not all support this functionality yet and so you'll get either reports where it is too general (USBHUB) or nothing at all as you see above.
Here is what it looks like when your hardware and drivers support this functionality. Tracking what woke the system is new for Vista, so it's going to take some time for firmware, hardware and drivers to catch up.
C:\Debuggers>powercfg -LASTWAKEWake History Count - 1Wake History  Wake Source Count - 1 Wake Source  Type: Device Instance Path: ACPI\PNP0C0C\2&daba3ff&1 Friendly Name: Description: ACPI Power Button Manufacturer: (Standard system devices)