Avatar billede danisher Nybegynder
05. januar 2003 - 20:04 Der er 6 kommentarer og
1 løsning

Shutdown pc

Hello, så prøver vi igen... Kom til at lukke spørgsmålet :)

http://www.eksperten.dk/spm/299909

Det går alt på, at jeg ikke kan få computeren til at slukke... Jeg får ikke nogen besked om fejlen, da ExitWindowsEx, bare returnerer 0, og det kan jeg jo ikke bruge til så meget, eller hvad?

Er der nogen der kan hjælpe?

Her er den kode jeg bruger:

public class PowerOff
{
[DllImport("user32.dll")]
public static extern int ExitWindowsEx(uint uFlags, long dwReason);
    public void Sluk(string Text)
    {
        System.Windows.Forms.MessageBox.Show((ExitWindowsEx(8, 1)).ToString());
}

Mit program:

PowerOff computer = new PowerOff();

computer.Sluk();
Avatar billede danisher Nybegynder
05. januar 2003 - 20:06 #1
Ja, jeg har egentlig fjernet det, så den ikke udskriver ExitWindowsEx mere, fordi det skal jeg jo ikke bruge til noget... :)
Avatar billede arne_v Ekspert
05. januar 2003 - 20:50 #2
Ja - hvis kaldet virker, så kan du nok ikke rigtigt se
outputtet !

:-)
Avatar billede simon.ulsnes Nybegynder
05. januar 2003 - 23:02 #3
Uddrag fra Reason.h fra Windows Platform SDK:
#define SHTDN_REASON_MAJOR_OTHER                0x00000000
#define SHTDN_REASON_MAJOR_NONE                0x00000000
#define SHTDN_REASON_MAJOR_HARDWARE            0x00010000
#define SHTDN_REASON_MAJOR_OPERATINGSYSTEM      0x00020000
#define SHTDN_REASON_MAJOR_SOFTWARE            0x00030000
#define SHTDN_REASON_MAJOR_APPLICATION          0x00040000
#define SHTDN_REASON_MAJOR_SYSTEM              0x00050000
#define SHTDN_REASON_MAJOR_POWER                0x00060000
#define SHTDN_REASON_MAJOR_LEGACY_API          0x00070000

Dit andet parameter vil jeg derfor tro skulle være 196608 (decimalversion af 0x00030000), d.v.s. at grunden som systemet får er SHTDN_REASON_MAJOR_SOFTWARE.

Ellers, prøv med nogle forskellige tal i første parameter. Jeg har set flere steder, at man skal bruge forskellige tal til henholdsvis Windows 98/Me og Windows NT/2000/XP, bare aldrig hvilke.

// Simon
Avatar billede kichian Nybegynder
05. januar 2003 - 23:04 #4
Har du prøvet ExitWindowsEx(1, 1) ?

Jeg vil tro at POWEROFF skal bruges som logisk OR sammen med en af de andre muligheder, ligesom FORCE.
Avatar billede danisher Nybegynder
06. januar 2003 - 11:56 #5
Hej drengene...

Jeg kan desværre ikke få det til at virke...

Hvad hulen gør jeg?

Jeg har kigget lidt på:
http://www.codeproject.com/useritems/TimerComputerShutdown.asp

... hvor de løber alle processor igennem, for at slukke dem... Men jeg kan ikke komme til at importere den der Org.Mentalis.Utilities;
Er det noget i ved noget om?

Jeg søger lidt andre måder, da jeg næsten tror jeg sidder fast med den ExitWindowsEx metode... hmm..

Hjælp?

/Mig
Avatar billede Slettet bruger
09. januar 2003 - 17:46 #6
Se følgende kode på Google: http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=eaozL0ItBHA.1604%40tkmsftngp04

Denne løsning virker helt kanon.
Du kan evt bruge DoExitWin( EWX_POWEROFF | EWX_FORCE); for at være rigtig brutal i nedlukningen.
Avatar billede danisher Nybegynder
09. januar 2003 - 23:21 #7
Jeg takker mange gange...

Signing off... :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester