Yeniden Başlatma: Bilgisayarın .NET (C#/VB) ile yeniden başlatılmasını tetikler.

Womanne

Member
Kendi yazılımınızdan bilgisayarın yeniden başlatılmasını (yeniden başlatmayı) tetiklemek için birkaç seçenek vardır:


  1. 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)
  2. 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)
  3. Win32 API’sinden ExitWindowsEx işlevi aracılığıyla
  4. 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)
Dördüncü yolu seviyorum (kısmen WMI hayranı olduğum için). İşte C#’daki program kodu (dosyaya bir referanstır) System.Management.dll – .NET 1.0’dan beri mevcuttur – gereklidir):

// 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
 
Üst