lukke computeren fra consol-program?

Tags:    c++

Hej udviklere,
jeg kører nogle simple c++ console programmer. Nogen af dem tager temmelig lang tid, så jeg spekulerer på: er der en enkel måde at give computeren besked på at slukke når programmet har kørt færdigt?



9 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Det var godt :)
hov glemte parameteren s (shutdown).
Fold kodeboks ind/udKode 

Her har du mulighederne for shutdown (gældende for Windows XP..)
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 19.02.2008 16:18 af Bruger #1330
Hey Michael,
du kan enten have et programmer som starter det andet program og venter på Windows fortæller at programmet nu er udført. Derefter kan du så køre shutdown som lukker ned.

Ellers kan du indsætte Shutdown til sidst i det program du eksekverer. :)



Hej Ken,
din løsning to lyder som det jeg er ude på - men hvordan ser det ud i C++ kode? Eksisterer der noget i retning af
Fold kodeboks ind/udKode 

eller hvordan?



du kan gøre brug af shellexecute og køre Shutdown.exe :)
ex:
Fold kodeboks ind/udKode 


er dog ikke testet, bare en hurtigt omgang slam :)



Tak! :)
det ligner det jeg skal bruge - det får dog kun mit system til at logge af, ikke lukke helt ned. Nogen ideer til hvad der kan være galt? Ellers prøver jeg selv at researche videre på det.



Indlæg senest redigeret d. 19.02.2008 16:07 af Bruger #8249
Der findes en windows funktion til at gøre det med:
http://msdn2.microsoft.com/en-us/library/aa376868(VS.85).aspx

Jeg fandt denne stump kode der viser hvordan:
Fold kodeboks ind/udKode 





Tak skal I have!!

Ken << Funktionen virker nu upåklageligt, perfekt!

Bertel << Den måde ser lidt mere kompliceret ud, fordi vi først skal definere setPrivilege() funktionen. Er der en fordel ved at inkludere det lidt mere kode, istedet for blot at bruge shellExecute()? (er det f.eks. fornuftigt at kunne holde ordentligt styr på privileges?). Jeg spørger som absolut nybegynder indenfor w32API kode...



Bertels funktion har sin fordel på systemer i firmaer og andre steder, hvor brugere kan have begrænset adgang til forskellige funktioner, herunder at lukke Windows ned, da den kommer med en fejlmelding om hvorfor det er gået galt, det gør shutdown.exe ikke som standard, ved bruge af ShellExecute.

Sålænge det kun er til privatbrug er det ikke en nødvendighed :)



OK, tak!



t