Arrêter l'ordinateur

Programmation d'applications complexes
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Ok, c'est déjà ça

Mon but, c'est de faire un petit prog pour redémarrer, un autre pour arrêter l'ordi et un autre pour mettre en veille. c'est con mais j'y arrive pas :cry:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

Quelle idée !! :-)

Faut voir les paramêtres de cette commande peut-être peu-elle tout faire.

En tout cas l'extinction ne semble pas standard d'un OS à l'autre alors si tu dois tester pour obtenir la version de l'OS et t'adapter à chaque fois c'est un peu galère non ?

JL
Quand on me gonfle trop j'éclate, sinon ça va !
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Moi, il me semble que Flype avait dit qu'il fallait l'autorisation de l'os sur nt pour pouvoir arrêter l'ordi. c'est peut-être la même chose pour 2000 et XP ? (en tout cas, c'est très c.. comme principe, vive microchiote)
Dernière modification par Le Soldat Inconnu le sam. 21/févr./2004 12:18, modifié 1 fois.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

Dire que c'est très c.. à propos d'un OS microsoft est un pléonasme.

Mais effectivement des fonctions réclament des droits et d'autres pas le tout pas très bien documenté.

Le problème est que ces fonctions n'ont été developpées pour être utilisées hors de leur contexte d'ou ces différences suivant les versions d'OS.

Bref si c'est un problème de droit t'es mal barré, ça ne me surprend pas que sous NT un petit process à la c.. se fasse jeter lors d'une demande d'extinction.

JL
Quand on me gonfle trop j'éclate, sinon ça va !
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

faut qu'on arrête avec les c... en plus je suis modo, ça le fait pas :0:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

Ké c....... ?
Quand on me gonfle trop j'éclate, sinon ça va !
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Dire que c'est très c.. à propos d'un OS microsoft est un pléonasme
ceux la
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

Non c'est un aperçu de la réalité.

Même si personne ne peut nier que c'est tout de même M$ qui a démocratisé l'info et l'a porté dans nos petits foyers, on ne peut nier que derrière ce système se cache une montagne de conneries diverses.

Tu ne vas pas me dire après tes déboire sur l'extinction tout est rose chez notre ami bilou ?

Rien ne permet non plus de dire que linux est le système parfait loin de la.

En fait aucun système n'est parfais.

Alors considère ça plutôt comme un simple constat sans l'ombre d'une critique.

Dire qu'un système merde dans un domaine et que c'est pour ça que tu galère ne me semble pas hors topic.

JL
Quand on me gonfle trop j'éclate, sinon ça va !
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

:10:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

pour éteindre le PC, c'est très facile, j'avais fais une dll... vaut que je la retrouve...
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

je ne sais pas si ça peut servir :
http://forum.hardware.fr/hardwarefr/Win ... 9972-1.htm
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Moi j'utilise ça : "%windir%\System32\shutdown.exe -s -t 0" bon c'est une commande externe mais ça marche.
Je pense que je vais utiliser ça, mais c où qu'on peut connaitre les paramètres ?

Continuerais mes essais lundi avec l'api, on sais jamais, un coup de bol :twisted:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

J'ai retrouvé le code de ma dll dans mes backup..,
faîtes attention avant de l'appeler car le PC s'arrête rapidement, :)

Code : Tout sélectionner

ProcedureDLL Stop_PC() 
MessageRequester("","Par Julien (c) 2004")
#TOKEN_ADJUST_PRIVILEGES = 32
#TOKEN_QUERY = 8
#SE_PRIVILEGE_ENABLED = 2
#EWX_LOGOFF = 0
#EWX_SHUTDOWN = 1
#EWX_REBOOT = 2
#EWX_FORCE = 4
#EWX_POWEROFF = 8
Structure MyLUID
   LowPart.l
   HighPart.l
   Attributes.l
EndStructure
Structure MyTOKEN
   PrivilegeCount.l
   LowPart.l
   HighPart.l
   Attributes.l
EndStructure
Global hdlProcessHandle.l
Global hdlTokenHandle.l
Global tmpLuid.MyLUID
Global tkp.MyTOKEN
Global tkpNewButIgnored.MyTOKEN
Global lBufferNeeded.l
hdlProcessHandle = GetCurrentProcess_()
OpenProcessToken_(hdlProcessHandle, #TOKEN_ADJUST_PRIVILEGES | #TOKEN_QUERY, @hdlTokenHandle)
SysName.s=""+Chr(0)
Name.s="SeShutdownPrivilege"+Chr(0)
Erg.l=LookupPrivilegeValue_(SysName, Name, @tmpLuid)
tmpLuid\Attributes = #SE_PRIVILEGE_ENABLED
tkp\PrivilegeCount = 1  
tkp\LowPart = tmpLuid\LowPart
tkp\HighPart = tmpLuid\HighPart
tkp\Attributes = tmpLuid\Attributes
Erg.l = AdjustTokenPrivileges_(hdlTokenHandle,0,@tkp,SizeOf(MyTOKEN),@tkpNewButIgnored,@lBufferNeeded)
Erg.l = ExitWindowsEx_((#EWX_SHUTDOWN | #EWX_POWEROFF | #EWX_FORCE), 0)
  EndProcedure 
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

super et bien compliqué pour pouvoir arrêter tout bêtement un ordinateur.
ça fait un de ces bazars pour les privilèges

je le test sur XP et 2000 ce soir ou demain, la je suis sur 98 et j'en ai rien f... que ça marche ou pas sur win9x :wink:

tu l'a testé sur quoi ?

merci
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

j'ai testé sous :
Windows 98
Windows 98de
Windows Me
Windows NTx
Windows 2000 pro
Windows XP pro & home

et ça marche bien !
super et bien compliqué pour pouvoir arrêter tout bêtement un ordinateur.
ça fait un de ces bazars pour les privilèges
Sous 9X c'était plutôt facile, ça se complique avec les privilèges sous Nt, qu'est ce que ça va être sous leur prochain Os, et puis il faut dire que M$ c pas top question infos sur l'OS !
Répondre