Service(C#) fährt PC NICHT runter

Diskutiere Service(C#) fährt PC NICHT runter im Programmierung Forum im Bereich Software Forum; Hallo, ich habe einen Service welcher in Visual C# geschrieben wurde. Am Ende seiner Arbeit entscheidet er ob der PC auf dem er läuft runter...
B

bluefisch200

Threadstarter
Mitglied seit
18.10.2007
Beiträge
2.463
Hallo,

ich habe einen Service welcher in Visual C# geschrieben wurde.

Am Ende seiner Arbeit entscheidet er ob der PC auf dem er läuft runter gefahren werden soll.
Im Falle dass dies so sein muss wird die Codezeile:
Code:
System.Diagnostics.Process.Start("shutdown","-s -t 0");
ausgeführt.

Dies bleibt aber wirklungslos.
Nachdem ich mich einlogge und den Service über die Serviceverwaltung manuell neu starte geht alles richtig und der Rechner schaltet aus.

Der Service wird mit "Local System" Account ausgeführt und steht auf "Automatic".

Wie kriege ich den Service dazu richtig zu funktionieren?
 
Schard

Schard

Mitglied seit
13.04.2007
Beiträge
720
Standort
Hannover
Versuch mal Windows über den Kernel herunter zu fahren:
Code:
using System;
using System.Runtime.InteropServices;

namespace ShutDown
{
    class XPShutDown
    {
 [StructLayout(LayoutKind.Sequential, Pack=1)]
     internal struct TokPriv1Luid
 {
     public int Count;
     public long Luid;
     public int Attr;
 }

 [DllImport("kernel32.dll", ExactSpelling=true)]
 internal static extern IntPtr GetCurrentProcess();

 [DllImport("advapi32.dll", ExactSpelling=true, SetLastError=true)]
 internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok);

 [DllImport("advapi32.dll", SetLastError=true)]
 internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid );

 [DllImport("advapi32.dll", ExactSpelling=true, SetLastError=true)]
 internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall, ref TokPriv1Luid newst, int len, IntPtr prev,IntPtr relen);

 [DllImport("user32.dll", ExactSpelling=true, SetLastError=true)]
 internal static extern bool ExitWindowsEx(int flg, int rea);

 internal const int SE_PRIVILEGE_ENABLED = 0x00000002;
 internal const int TOKEN_QUERY = 0x00000008;
 internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020;
 internal const string SE_SHUTDOWN_NAME = "SeShutdownPrivilege";
 internal const int EWX_LOGOFF = 0x00000000;
 internal const int EWX_SHUTDOWN = 0x00000001;
 internal const int EWX_REBOOT = 0x00000002;
 internal const int EWX_FORCE = 0x00000004;
 internal const int EWX_POWEROFF = 0x00000008;
 internal const int EWX_FORCEIFHUNG = 0x00000010;

 private static void XPRebootCommand(int flg)
 {
     bool ok;
     TokPriv1Luid tp;
     IntPtr hproc = GetCurrentProcess();
     IntPtr htok = IntPtr.Zero;
     ok = OpenProcessToken( hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok );
     tp.Count = 1;
     tp.Luid = 0;
     tp.Attr = SE_PRIVILEGE_ENABLED;
     ok = LookupPrivilegeValue( null, SE_SHUTDOWN_NAME, ref tp.Luid );
     ok = AdjustTokenPrivileges( htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero );
     ok = ExitWindowsEx( flg, 0 );
 }

 static void Main()
 {
     XPRebootCommand(EWX_REBOOT + EWX_FORCE);
 }
    }
}
 
Thema:

Service(C#) fährt PC NICHT runter

Sucheingaben

ExitWindows windows 10 c#

Service(C#) fährt PC NICHT runter - Ähnliche Themen

  • Service-Anfrage1484674804 bei Mark: Anmeldung als Admin, ich war doch aber bisher "IT-Admin. Habe das Kennwort verloren, erbitte ein neues. Danke.

    Service-Anfrage1484674804 bei Mark: Anmeldung als Admin, ich war doch aber bisher "IT-Admin. Habe das Kennwort verloren, erbitte ein neues. Danke.: Anmeldung als Admin, ich war doch aber bisher "IT-Admin. Habe das Kennwort verloren, erbitte ein neues. Danke.
  • Service in Deutschland

    Service in Deutschland: In Zeiten von Amazon & Co gibt es sie ja noch hier und da, richtige Computerläden mit Fachpersonal. Am Mittwoch hat mein geliebter Hauptrechner...
  • Windows Store - Gaming Services lässt sich nicht neu installieren.

    Windows Store - Gaming Services lässt sich nicht neu installieren.: Hallo, ich habe Schwierigkeiten den Gaming Service neu zu installieren. Die Installation startet einfach nicht. Hintergrund für die...
  • Verify that you have sufficient privileges to install system services

    Verify that you have sufficient privileges to install system services: bei der Installation von SW gibt es immer wieder folgendes Problem: Verify that you have sufficient privileges to install system services ich...
  • intel Technology Access service nicht mehr funktionsfähig,

    intel Technology Access service nicht mehr funktionsfähig,: Iich bekomme im Zuverlässigkeitsverlauf regelmässig obige Meldung, was bedeutet das und was kann ich dagegen tun
  • Ähnliche Themen

    Oben