Wie ändere ich den Energiestatus eines Windows-Hosts vom Ubuntu-Gastbetriebssystem aus?

Wie ändere ich den Energiestatus eines Windows-Hosts vom Ubuntu-Gastbetriebssystem aus?

Ich habe einen Ubuntu14.04-Gast in VMWare Workstation 12 auf einem Windows 7-Host.

Wie kann ich den Energiestatus des Hosts vom Gastbetriebssystem aus ändern, z. B. ausschalten oder ruhen lassen?

Antwort1

Derzeit verwende ich den freigegebenen Ordner im Gastbetriebssystem:

echo "">/mnt/hgfs/share/sleep

Schreiben Sie dann auf dem Host ein Programm, um zu überwachen, ob die Datei „sleep“ vorhanden ist, und führen Sie die Sleep-Aktion aus.

Zum Herunterfahren überwacht das Programm vmware-vmx.exe. Wenn es verschwindet, fährt es den Computer herunter.

Das C#-Programm sieht folgendermaßen aus:

 class ShutdownComputer
{
    //true for sleep,false for shutdown
    static bool sleep = true;
    static public void ShutdownComputerDo()
    {
        string[] process_names = new string[]
        {
            "vmware-vmx",
        };

        while (true)
        {
            bool done = true;
            string sleep_signal_fn = @"C:\VMachine\VM_Ubuntu14.04\share\sleep";
            if (sleep)
            {
                done = File.Exists(sleep_signal_fn);
                if (done) File.Delete(sleep_signal_fn);
            }
            else
            {
                foreach (string pn in process_names)
                {
                    if (Process.GetProcessesByName(pn).Length > 0) done = false;
                }
            }



            if (done)
            {
                var psi=sleep?
                new ProcessStartInfo("rundll32.exe", " powrprof.dll,SetSuspendState 0,1,0")
                : new ProcessStartInfo("shutdown", "/s /t 0");
                psi.CreateNoWindow = true;
                psi.UseShellExecute = false;
                Process.Start(psi);

                if (!sleep) break;
            }
            Thread.Sleep(5 * 1000);
        }
    }
}

Obwohl es funktioniert, gibt es einfachere Möglichkeiten?

verwandte Informationen