1. Чем отличаются Suspend и Hibernate режимы?
int SetSystemPowerState(int fSuspend,int fForce);
Эти состояния различаются только первым параметром — fSuspend (true;false)
Вот только в действии ОС различий не видел.
2. Как программно сменить пользователя (!не выходя из под текущего!) так, как это делается в XP?