Use WM_DISPLAYCHANGE to get notified when the resolution changes. The lParam contains the new resolution.

You can use EnumDisplaySettings to get the resolutions of all connected monitors.