Moment. Systemnah != Alltagsdinge vereinfachen. Das ist komplett gegensätzlich. Einfach ist es, wenn Du schon auf viel fertiges Zeug zurückgreifen kannst und es nicht komplett selber neu machen musst.
Und was
Dll's angeht: Klar geht das. Nennt sich P/Invoke und ist ein Zweizeiler pro Funktion (eine gibt die
DLL als Atribut an, die Andere ist die Signatur des Aufrufes).
Was Herunterfahren von Windows angeht:
Code:
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_SHUTDOWN = 0x00000001;
internal const int EWX_FORCE = 0x00000004;
static void Main()
{
ExitWindowsEx(EWX_SHUTDOWN + EWX_FORCE, 0);
}
}
}
Das ist eine komplette Shutdown.exe in C#, inkl.
DLL-Import.