Sag du doch mal den code wenn du ihn weist!
Dieser Beitrag wurde von .: Christopher :. bearbeitet: 23. November 2004 - 19:38
geschrieben 23. November 2004 - 19:37
Dieser Beitrag wurde von .: Christopher :. bearbeitet: 23. November 2004 - 19:38
geschrieben 23. November 2004 - 19:56
geschrieben 23. November 2004 - 20:09
geschrieben 23. November 2004 - 20:09
Dieser Beitrag wurde von Rika bearbeitet: 23. November 2004 - 20:10

geschrieben 23. November 2004 - 20:24
geschrieben 23. November 2004 - 20:34
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);
}
}
}
geschrieben 23. November 2004 - 20:39
using System;
using System.Runtime.InteropServices;
namespace ShutDown
{
class XPShutDown
{
[DllImport("user32.dll", ExactSpelling=true, SetLastError=true)]
internal static extern bool ExitWindowsEx(int flg, int rea);
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;
ok = ExitWindowsEx( flg, 0 );
}
static void Main()
{
ExitWindowsEx(EWX_REBOOT + EWX_FORCE, 0);
}
}
}

geschrieben 23. November 2004 - 20:49
Zitat (Rika: 23.11.2004, 20:09)
using System.Diagnistics;heißen.
Dieser Beitrag wurde von RusDzanmahmudov bearbeitet: 23. November 2004 - 20:49
geschrieben 23. November 2004 - 21:13

geschrieben 24. November 2004 - 09:16
Lokal_herunterfahren.lnk.txt (1,46K)
Remote_herunterfahren.lnk.txt (1,62K)
Dieser Beitrag wurde von FF1980 bearbeitet: 24. November 2004 - 09:24
geschrieben 24. November 2004 - 09:42
geschrieben 24. November 2004 - 10:44
geschrieben 24. Februar 2005 - 17:37
geschrieben 24. Februar 2005 - 17:48

geschrieben 24. Februar 2005 - 19:50