none
Mise en veille par programme RRS feed

  • Question

  • Bonjour,

    J'aimerais pouvoir mettre en veille rapide mon PC par programme

    Je peux le faire par un fichier bat lancé en mode administrateur mais je ne sais pas le lancer dans ce mode an VB.

    powercfg -h off rundll32.exe powrprof.dll,SetSuspendState 0,1,0

    powercfg -h on

    J'ai aussi essayé la fonction

    Public Function SetSuspendState( _ state As PowerState, _ force As Boolean, _ disableWakeEvent As Boolean _ ) As Boolean End Function SetSuspendState(PowerState.Suspend, True, False)

    Mais sans succès (rien ne semble se passer).

    Je pense que je pourrais aussi désactiver la veille prolongée dans le panneau de config et lancer la commande

    Shell("Rundll32.exe Powrprof.dll,SetSuspendState Sleep")
    
    Auriez-vous une idée pour que je puisse faire la mise en veille rapide directement de mon programme VN.Net ?

    (Il faut également que le planificateur de tâche reste actif.)

    Cordialement


    MCh

    jeudi 14 novembre 2013 09:03

Réponses

  • Merci pour votre réponse.

    Finalement j'ai utilisé cette commande :

    Shell("Rundll32.exe Powrprof.dll,SetSuspendState 0,0,0")

    J'ai désactiver l'hibernation avec la commande 

    powercfg -h off en mode admin.

    J'ai réussi à faire fonctionner la modification de l'horaire d'une

    tâche planifié pour le réveil avec un fichier bat que je génère et lance avec mon programme.

    schtasks /change /tn Maurice\Lock /sd 15/11/2013 /st  09:50:00<D:\Prog\Exe\mdp.txt

    (mdp.txt contient mon mot de passe, Maurice\Lock est la tâche planifiée.)

    C'est un peu tordu, mais ça fonctionne bien et avec un minimum de lignes de code.

    Cordialement.




    jeudi 14 novembre 2013 18:44

Toutes les réponses

  • Bonjour,

    Ceci fonction pour moi, mais faudrais voir pour le planificateur de tâche?

        Private Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As IntPtr, _
                                              ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            Call SendMessage(Me.Handle, New IntPtr(&H112), New IntPtr(&HF140), IntPtr.Zero)
    
        End Sub
    
    


    Cordialement, Li31

    jeudi 14 novembre 2013 16:54
  • Merci pour votre réponse.

    Finalement j'ai utilisé cette commande :

    Shell("Rundll32.exe Powrprof.dll,SetSuspendState 0,0,0")

    J'ai désactiver l'hibernation avec la commande 

    powercfg -h off en mode admin.

    J'ai réussi à faire fonctionner la modification de l'horaire d'une

    tâche planifié pour le réveil avec un fichier bat que je génère et lance avec mon programme.

    schtasks /change /tn Maurice\Lock /sd 15/11/2013 /st  09:50:00<D:\Prog\Exe\mdp.txt

    (mdp.txt contient mon mot de passe, Maurice\Lock est la tâche planifiée.)

    C'est un peu tordu, mais ça fonctionne bien et avec un minimum de lignes de code.

    Cordialement.




    jeudi 14 novembre 2013 18:44