IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

commande ou API pour fermer un PC


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 60
    Par défaut commande ou API pour fermer un PC
    bonjour à tous

    je suis à la recherche d'une fonction ou commande me permettant à partir d'un exécutable de fermer le PC à une heure bien précise. Est ce que l'un de vous aurait une idée là dessus.

    Merci bien d'avance
    amicalement

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    http://www.developpez.net/forums/sho...light=eteindre

    La fonction Rechercher sur ce forum peut etre utile

  3. #3
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 60
    Par défaut
    Citation Envoyé par OhMonBato Voir le message
    http://www.developpez.net/forums/sho...light=eteindre

    La fonction Rechercher sur ce forum peut etre utile
    merci

  4. #4
    Membre confirmé
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Par défaut
    Alors je te livre une source trés intéressante :
    tu met dans un module de classe ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    Option Explicit
     
    'APIs
    '******************************************************************************
    Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
    Private Declare Function OpenProcessToken Lib "advapi32" (ByVal _
       ProcessHandle As Long, _
       ByVal DesiredAccess As Long, TokenHandle As Long) As Long
    Private Declare Function LookupPrivilegeValue Lib "advapi32" _
       Alias "LookupPrivilegeValueA" _
       (ByVal lpSystemName As String, ByVal lpName As String, lpLuid _
       As LUID) As Long
    Private Declare Function AdjustTokenPrivileges Lib "advapi32" _
       (ByVal TokenHandle As Long, _
       ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES _
       , ByVal BufferLength As Long, _
    PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
    '******************************************************************************
     
    'Constants
    '******************************************************************************
    Private Const EWX_FORCE As Long = 4
    '******************************************************************************
     
    'Types
    '******************************************************************************
    Private Type LUID
       UsedPart As Long
       IgnoredForNowHigh32BitPart As Long
    End Type
     
    Private Type TOKEN_PRIVILEGES
      PrivilegeCount As Long
      TheLuid As LUID
      Attributes As Long
    End Type
    '******************************************************************************
     
    'Enumeration
    '******************************************************************************
    Public Enum EnumExitWindows
     
      WE_LOGOFF = 0
      WE_SHUTDOWN = 1
      WE_REBOOT = 2
      WE_POWEROFF = 8
     
    End Enum
    '******************************************************************************
     
    'Functions and Subs
    '******************************************************************************
    Private Sub AdjustToken()
        Const TOKEN_ADJUST_PRIVILEGES = &H20
        Const TOKEN_QUERY = &H8
        Const SE_PRIVILEGE_ENABLED = &H2
        Dim hdlProcessHandle As Long
        Dim hdlTokenHandle As Long
        Dim tmpLuid As LUID
        Dim tkp As TOKEN_PRIVILEGES
        Dim tkpNewButIgnored As TOKEN_PRIVILEGES
        Dim lBufferNeeded As Long
     
        hdlProcessHandle = GetCurrentProcess()
        OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or _
           TOKEN_QUERY), hdlTokenHandle
     
     ' Get the LUID for shutdown privilege.
        LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid
     
        tkp.PrivilegeCount = 1    ' One privilege to set
        tkp.TheLuid = tmpLuid
        tkp.Attributes = SE_PRIVILEGE_ENABLED
     
    ' Enable the shutdown privilege in the access token of this process.
        AdjustTokenPrivileges hdlTokenHandle, False, _
        tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded
     
    End Sub
     
     
    Public Sub ExitWindows(ByVal aOption As EnumExitWindows)
     
      AdjustToken
     
      Select Case aOption
        Case EnumExitWindows.WE_LOGOFF
          ExitWindowsEx (EnumExitWindows.WE_LOGOFF Or EWX_FORCE), &HFFFF
        Case EnumExitWindows.WE_REBOOT
          ExitWindowsEx (EnumExitWindows.WE_SHUTDOWN Or EWX_FORCE Or EnumExitWindows.WE_REBOOT), &HFFFF
        Case EnumExitWindows.WE_SHUTDOWN
          ExitWindowsEx (EnumExitWindows.WE_SHUTDOWN Or EWX_FORCE), &HFFFF
        Case EnumExitWindows.WE_POWEROFF
          ExitWindowsEx (EnumExitWindows.WE_POWEROFF Or EWX_FORCE), &HFFFF
      End Select
     
    End Sub
    '******************************************************************************
    puis dans ta form avec un bouton et 4 option button ca code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Option Explicit
     
    Private Sub cmdAccept_Click()
     
      Dim cExitWindows As New clsExitWindows
     
      If optShutdown.Value Then
     
        cExitWindows.ExitWindows WE_SHUTDOWN
     
      ElseIf optLogoff.Value Then
     
        cExitWindows.ExitWindows WE_LOGOFF
     
      ElseIf optReboot.Value Then
     
        cExitWindows.ExitWindows WE_REBOOT
     
      ElseIf optPoweroff.Value Then
     
        cExitWindows.ExitWindows WE_POWEROFF
     
      End If
     
    End Sub
    il te permet de faire le shutdown , le logoff, le reboot et le POWER OFF ATX
    Bon courage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Caméra IP] Commandes Url / API pour Dlink DCS-932L
    Par mambox dans le forum Périphériques
    Réponses: 9
    Dernier message: 29/12/2016, 10h59
  2. commande pour fermer une application
    Par zakuli dans le forum Windows XP
    Réponses: 8
    Dernier message: 11/03/2011, 23h22
  3. Quelle API pour traiter des paramètres d'un programme en ligne de commande ?
    Par Pierre8r dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 19/12/2008, 11h36
  4. command pour fermer une socket
    Par yli_ren dans le forum Réseau
    Réponses: 3
    Dernier message: 01/06/2007, 10h43
  5. commande pour fermer un formulaire
    Par guimauve dans le forum Access
    Réponses: 3
    Dernier message: 20/07/2006, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo