Avatar billede team-temp Nybegynder
22. august 2006 - 14:58 Der er 11 kommentarer og
1 løsning

Lukke Computer via Kode i C#

Jeg har lavet et program der kan starte diverse programmer se processer osv.

Når, jeg ville gerne have lavet en "Luk computer knap"

Så når jeg trykker på knappen lukkes computer.

Kunne også være rart med en Restart knap ;)

Mvh //TEMP\\
Avatar billede lateralus Nybegynder
22. august 2006 - 15:26 #1
Kan du ikke kalde "shutdown.exe" filen? Jeg mener at den ligger i windows\system32.
Avatar billede mcgoat Nybegynder
22. august 2006 - 15:32 #2
[Flags]
public enum ExitWindows : uint
{
  LogOff = 0x00,
  ShutDown = 0x01,
  Reboot = 0x02,
  Force = 0x04,
  PowerOff = 0x08,
  ForceIfHung = 0x10
}

[Flags]
enum ShutdownReason
{
    MajorApplication = 0x00040000,
    MajorHardware = 0x00010000,
    MajorLegacyApi = 0x00070000,
    MajorOperatingSystem = 0x00020000,
    MajorOther = 0x00000000,
    MajorPower = 0x00060000,
    MajorSoftware = 0x00030000,
    MajorSystem = 0x00050000,

    MinorBlueScreen = 0x0000000F,
    MinorCordUnplugged = 0x0000000b,
    MinorDisk = 0x00000007,
    MinorEnvironment = 0x0000000c,
    MinorHardwareDriver = 0x0000000d,
    MinorHotfix = 0x00000011,
    MinorHung = 0x00000005,
    MinorInstallation = 0x00000002,
    MinorMaintenance = 0x00000001,
    MinorMMC = 0x00000019,
    MinorNetworkConnectivity = 0x00000014,
    MinorNetworkCard = 0x00000009,
    MinorOther = 0x00000000,
    MinorOtherDriver = 0x0000000e,
    MinorPowerSupply = 0x0000000a,
    MinorProcessor = 0x00000008,
    MinorReconfig = 0x00000004,
    MinorSecurity = 0x00000013,
    MinorSecurityFix = 0x00000012,
    MinorSecurityFixUninstall = 0x00000018,
    MinorServicePack = 0x00000010,
    MinorServicePackUninstall = 0x00000016,
    MinorTermSrv = 0x00000020,
    MinorUnstable = 0x00000006,
    MinorUpgrade = 0x00000003,
    MinorWMI = 0x00000015,

    FlagUserDefined = 0x40000000,
    FlagPlanned = 0x80000000
}


        [DllImport("user32.dll")]
        static extern bool ExitWindowsEx(ExitWindows uFlags, ShutdownReason dwReason);

        [STAThread]
        static void Main(string[] args)
        {
            ExitWindowsEx(ExitWindows.LogOff, ShutdownReason.MajorOther & ShutdownReason.MinorOther);

        }
Avatar billede mcgoat Nybegynder
22. august 2006 - 15:33 #3
Avatar billede mcgoat Nybegynder
22. august 2006 - 15:35 #4
men jo. du kan også bare køre

Process.Start("shutdown.exe", "-s -t 0 -f");

men det kræver vist det er en XP maskine. og det kan man jo ikke altid være sikker på
Avatar billede team-temp Nybegynder
22. august 2006 - 15:52 #5
Mcgoat> -s -t 0 -f hvad gør dette`?
Avatar billede mcgoat Nybegynder
22. august 2006 - 15:55 #6
-s = lukker computeren
-t 0 = efter 0 sekunder
-f = gennemtvinger lukning af kørende programmer
Avatar billede mcgoat Nybegynder
22. august 2006 - 15:55 #7
Format: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computernavn] [-t xx]
          [-c "kommentar"] [-d up:xx:yy]

        Ingen argumenter        Viser denne meddelelse (samme som -?)
        -i                      Viser GUI-grænseflade, skal være første indstill
ing
        -l                      Logger af (kan ikke bruges med indstillingen -m)

        -s                      Lukker computeren
        -r                      Lukker og genstarter computeren
        -a                      Afbryder lukning af systemet
        -m \\computernavn      Fjerncomputeren skal lukkes/genstartes/afbrydes
        -t xx                  Angiver timeout for lukning til xx sekunder
        -c "kommentar"  Lukker kommentar (maksimalt 127 tegn)
        -f                      Gennemtvinger lukning af programmer, der kører,
                        uden varsel
        -d [u][p]:xx:yy Årsagskoden for lukningen
                                u er brugerkode
                                p er en planlagt lukkekode
                                xx er hovedårsagskoden
                        (positivt heltal mindre end 256)
                                yy er den mindre årsagskode
                        (positivt heltal mindre end 65536)
Avatar billede team-temp Nybegynder
22. august 2006 - 16:04 #8
Ahh ja det er rigigt. Simpel Command promt commando ;=)
Avatar billede team-temp Nybegynder
22. august 2006 - 16:05 #9
Får fejlen Error   

1

    The name 'Process' does not exist in the current context    C:\Documents and Settings\Jonas\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs    20    13    WindowsApplication1
Avatar billede mcgoat Nybegynder
22. august 2006 - 16:24 #10
using System.Diagnostics;

skal lige op i toppen :)
Avatar billede mcgoat Nybegynder
28. august 2006 - 09:50 #11
luketid?
Avatar billede team-temp Nybegynder
29. august 2006 - 21:56 #12
Ja tak for hjælpen Gocart :D
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