Kendi yazılımınızdan bilgisayarın yeniden başlatılmasını (yeniden başlatmayı) tetiklemek için birkaç seçenek vardır:
// Anstelle des Punktes (lokaler Rechner) auch Rechnername oder IP möglich
ManagementObject mo = new ManagementObject(@".↵
rootcimv2:Win32_OperatingSystem=@");
// Wichtig: Ohne diese Rechteerhöhung, wird der Reboot nicht möglich sein
mo.Scope.Options.EnablePrivileges = true;
try {
// Reboot-Methode ohne Parameter ausführen
object ergebnis = mo.InvokeMethod("Reboot", new object[] { });
// Ergebnis auswerten
if (ergebnis == null || (uint)ergebnis > 0)
{ Console.WriteLine("Reboot nicht möglich."); }
else
{ Console.WriteLine("Reboot startet..."); } }
catch (Exception ex)
{ Console.WriteLine("Fehler: " + ex.Message); }
()
Haberin Sonu
- komut satırı aracını çalıştırın kapatma.exe seçeneği ile /R ( ile bir işlem başlatarak System.Diagnostics.Process)
- PowerShell komutunu çalıştırın bilgisayarı yeniden başlatın (Başlat aracılığıyla powershell.exe ile System.Diagnostics.Process veya .NET sürecinde PowerShell barındırma)
- Win32 API’sinden ExitWindowsEx işlevi aracılığıyla
- Windows Yönetim Araçları (WMI) sınıfı aracılığıyla. Win32_İşletim Sistemi (Windows 2000’den beri işletim sistemine entegre edilmiştir)
// Anstelle des Punktes (lokaler Rechner) auch Rechnername oder IP möglich
ManagementObject mo = new ManagementObject(@".↵
rootcimv2:Win32_OperatingSystem=@");
// Wichtig: Ohne diese Rechteerhöhung, wird der Reboot nicht möglich sein
mo.Scope.Options.EnablePrivileges = true;
try {
// Reboot-Methode ohne Parameter ausführen
object ergebnis = mo.InvokeMethod("Reboot", new object[] { });
// Ergebnis auswerten
if (ergebnis == null || (uint)ergebnis > 0)
{ Console.WriteLine("Reboot nicht möglich."); }
else
{ Console.WriteLine("Reboot startet..."); } }
catch (Exception ex)
{ Console.WriteLine("Fehler: " + ex.Message); }
()
Haberin Sonu