PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → arret et reboot de windows XP sous windev 5.5
arret et reboot de windows XP sous windev 5.5
Débuté par dev.win, 17 mar. 2003 18:53 - 3 réponses
Posté le 17 mars 2003 - 18:53
Bonjour

je désire faire un arret ou reboot de windows XP sous windev 5.5

merci
Posté le 25 mars 2003 - 12:59
AppelDLL32("user32","ExitWindowsEx" ,Structure)
il faut ensuite remplir la structure en fonction de ce que tu veux faire
rebooter,arreter...

"dev.win" <dev.win@laposte.net> wrote:
Bonjour

je désire faire un arret ou reboot de windows XP sous windev 5.5

merci


Posté le 28 mars 2003 - 15:14
Merci de ta réponse mais je doit quoi mettre dans la structure ? et commend
est elle structuré ?

dev
"Olivier LABORDE" <olivierlaborde@hotmail.com> a écrit dans le message de
news: 3e8044ac$1@news....

AppelDLL32("user32","ExitWindowsEx" ,Structure)
il faut ensuite remplir la structure en fonction de ce que tu veux faire
rebooter,arreter...

"dev.win" <dev.win@laposte.net> wrote:
Bonjour

je désire faire un arret ou reboot de windows XP sous windev 5.5

merci




Posté le 29 mars 2003 - 10:28
Bonjour,

Ci-dessous le code pour rebooter l'ordi sous 2000, NT et XP.


Slts
Alain

***************************************************************
EWX_REBOOT est un entier long = 0x02

si sysversionwindows(sysversionplateforme) = "NT" alors
si EnableShutdown() alors
si AppelDLL32("User32", "ExitWindowsEx", EWX_REBOOT, 0) <> 0 alors
FinProgramme()
fin
sinon
si AppelDLL32("User32", "ExitWindowsEx" ,EWX_REBOOT, 0) <> 0 alors
FinProgramme()
fin
Erreur("Le redémarrage de Windows n'est pas possible actuellement. Veuillez
quitter toutes les applications en cours puis redémarrez votre ordinateur")

***************************************************************
FONCTION EnableShutdown()
hdlProcessHandle est un entier long
hdlTokenHandle est un entier long
tkp est composé de
PrivilegeCount est un entier long
Luid est une chaine fixe sur 8
Attributes est un entier long
fin

tkp.PrivilegeCount = 1
tkp.Attributes = 2
hdlprocessHandle = AppelDLL32("kernel32", "GetCurrentProcess")
si hdlprocessHandle = 0 alors renvoyer faux
si AppelDLL32("advapi32.dll", "OpenProcessToken" , hdlProcessHandle, 0x28,
&hdlTokenHandle) = 0 alors renvoyer faux
si AppelDLL32("advapi32.dll", "LookupPrivilegeValueA" , "",
"SeShutdownPrivilege", &tkp.Luid) = 0 alors renvoyer faux
renvoyer (AppelDLL32("advapi32.dll", "AdjustTokenPrivileges",
hdlTokenHandle, faux, &tkp, 0, 0, 0) <> 0)
*******************************************************************






"dev.win" <dev.win@laposte.net> a écrit dans le message news:
3e84569e$1@news....
> Merci de ta réponse mais je doit quoi mettre dans la structure ? et
commend
est elle structuré ?

dev
"Olivier LABORDE" <olivierlaborde@hotmail.com> a écrit dans le message de
news: 3e8044ac$1@news....

AppelDLL32("user32","ExitWindowsEx" ,Structure)
il faut ensuite remplir la structure en fonction de ce que tu veux faire
rebooter,arreter...

"dev.win" <dev.win@laposte.net> wrote:
Bonjour

je désire faire un arret ou reboot de windows XP sous windev 5.5

merci