Existe-t-il une API Win32 pour mettre l'ordinateur en veille prolongée ou en mode veille? J'ai lu MSDN et a constaté que WM_POWERBROADCAST
message est diffusé lorsque les événements de gestion de l'alimentation se produisent. J'ai pensé simuler la même chose avec PostMessage(WM_POWERBROADCAST)
. Est-ce la bonne façon de faire ou n'importe quelle API Win32 existe pour y parvenir?Existe-t-il une API Win32 pour déclencher le mode veille prolongée ou suspendu dans Windows?
Répondre
Découvrez SetSuspendState
.
Notez que vous avez besoin du privilège SE_SHUTDOWN_NAME, comme mentionné sur la page msdn référencée.
Tel que posté par Ben Schwehn, SetSuspendState est la voie à suivre. Sur win95, vous devriez appeler SetSystemPowerState. Vous pouvez également appeler IsPwrSuspendAllowed et IsPwrHibernateAllowed ou GetPwrCapabilities pour indiquer si la machine prend en charge la suspension/hibernation.
Dans une application Windows Form, utilisez la méthode SetSUspendState (http://msdn.microsoft.com/fr-fr/library/system.windows.forms.application.setsuspendstate.aspx). Le premier paramètre vous permet de choisir entre SUspend et Hibernate.
Pour une application de formulaires autre que Windows, appelez directement l'API Win32: la fonction SetSuspendState se trouve dans le fichier powrprof.dll.
Battez-moi! J'ai corrigé le lien dans votre message. J'espère que ça ne vous dérange pas. –