Redemarrer Windows 2000

Signaler
Messages postés
18
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
21 janvier 2003
-
Messages postés
22
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
24 mai 2005
-
Bonjour
voila, j'ai essaye toutes les sources fournies ici, aucunes n'arrive a me redemarer mon pc
quelqu'un a quelque chose de probant la dessus?
Un grand merci

Sna

8 réponses

Messages postés
18
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
21 janvier 2003

j'ai fait plus de tests
Call ExitWindowsEx(EWX_FORCE, 0)
est la seule commande qui donne un resultat meilleur que rien :)
mais bon, ce n'est qu un logoff, c'est pas encore un reboot :(
Sna
0
Messages postés
55
Date d'inscription
mardi 21 mai 2002
Statut
Membre
Dernière intervention
6 mai 2009

Salut
va voir la source W2k shutdow
j'ai mis un script qui te permet de faire un showt down ou une fermeture de session.

wolla
nariel1
0
Messages postés
18
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
21 janvier 2003

je comprends pas ca marche pas
les 2 boutons font une fermeture de session :(

Sna
0
Messages postés
55
Date d'inscription
mardi 21 mai 2002
Statut
Membre
Dernière intervention
6 mai 2009

desoler
mais un 3 eme boutton avec ca comme code


Private Sub Command3_Click()
AdjustToken
ExitWindowsEx (EWX_SHUTDOWN), &HFFFF
End Sub

tu as aussi
EWX_LOGOFF
EWX_POWEROFF
EWX_SHUTDOWN
EWX_FORCE
EWX_FORCEIFHUNG

voila
0
Messages postés
18
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
21 janvier 2003

arg j'ai vraiment pas de chance :(
effectivement le 3e bouton eteint l'ordinateur, ca marche bien
mais toujours pas de redemarrage :( snif

Sna
0
Messages postés
97
Date d'inscription
jeudi 10 mai 2001
Statut
Membre
Dernière intervention
20 juin 2005

Bonjour,

Voici un module de class qui fonctionne sous win 9x/2000/NT/XP :

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
'******************************************************************************

'Enumerations
'******************************************************************************
Public Enum EnumExitWindows

WE_LOGOFF = 0
WE_SHUTDOWN = 1
WE_REBOOT = 2
WE_POWEROFF = 8

End Enum
'******************************************************************************

'Variables
'******************************************************************************
'******************************************************************************

'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 l_Command As EnumExitWindows)

AdjustToken

ExitWindowsEx (l_Command Or EWX_FORCE), 0

End Sub
'**

Et à mettre dans un bouton :

Private Sub cmdAcept_Click()

Dim l_ExitWindows As New cls_ExitWindows

'Ask which Option is checked
If optPowerOff.Value = True Then

'Power off windows
l_ExitWindows.ExitWindows WE_POWEROFF

ElseIf optShutDown.Value = True Then

'Shutdown windows
l_ExitWindows.ExitWindows WE_SHUTDOWN

ElseIf optReboot.Value = True Then

'Reboot windows
l_ExitWindows.ExitWindows WE_REBOOT

ElseIf optLogOff.Value = True Then

'Log off user
l_ExitWindows.ExitWindows WE_LOGOFF

End If

End Sub

Cordialement
0
Messages postés
18
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
21 janvier 2003

Waw parfait ca marche nickel
un grand merci :))
Sna
0
Messages postés
22
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
24 mai 2005

Il ne faut pas utiliser un module de classe mais déclarer directement les variables, fonctions et subs dans la feuille.

Emmanuel PREVOT
0