예제 #1
0
        public PowerManagerCustom()
        {
            var powerInterop = new PowerManagementInteropWrapper();
            var marshal      = new MarshalProvider();

            _powerManager         = new PowerManager(marshal, powerInterop);
            _suspendManager       = new SuspendManager(powerInterop);
            _hibernateFileManager = new HibernateFileManager(marshal, powerInterop);
        }
예제 #2
0
        static void Main(string[] args)
        {
            var powerStateManager    = new PowerStateManager();
            var hibernateFileManager = new HibernateFileManager();

            var lastSleepTime = powerStateManager.GetLastSleepTime();

            Console.WriteLine($"Last sleep time : {lastSleepTime}\n");

            DateTime lastWakeTime = powerStateManager.GetLastWakeTime();

            Console.WriteLine($"Last wake time : {lastWakeTime}\n");

            var systemBatteryState = powerStateManager.GetSystemBatteryState();

            Console.WriteLine($"System battery state :\n" +
                              $"AcOnLine : {systemBatteryState.AcOnLine}\n" +
                              $"BatteryPresent : {systemBatteryState.BatteryPresent}\n" +
                              $"Charging : {systemBatteryState.Charging}\n" +
                              $"Discharging : {systemBatteryState.Discharging}\n" +
                              $"MaxCapacity : {systemBatteryState.MaxCapacity}\n" +
                              $"RemainingCapacity : {systemBatteryState.RemainingCapacity}\n" +
                              $"Rate : {systemBatteryState.Rate}\n" +
                              $"EstimatedTime {systemBatteryState.EstimatedTime}\n");

            var systemPowerInformation = powerStateManager.GetSystemPowerInformation();

            Console.WriteLine($"System power information :\n" +
                              $"MaxIdlenessAllowed : {systemPowerInformation.MaxIdlenessAllowed}\n" +
                              $"Idleness : {systemPowerInformation.Idleness}\n" +
                              $"TimeRemaining : {systemPowerInformation.TimeRemaining}\n" +
                              $"CoolingMode : {systemPowerInformation.CoolingMode}\n");

            //hibernateFileManager.Reserve();
            //hibernateFileManager.Delete();

            Console.Read();
        }
예제 #3
0
        static void Main(string[] args)
        {
            var powerManagementInterop = new PowerManagementInteropWrapper();
            var marshalProvider        = new MarshalProvider();
            var powerManager           = new PowerManager(marshalProvider, powerManagementInterop);

            DateTime lastSleepTime      = powerManager.GetLastSleepTime();
            DateTime lastWakeTime       = powerManager.GetLastWakeTime();
            var      systemBatteryState = powerManager.GetSystemBatteryState();
            var      powerInformation   = powerManager.GetSystemPowerInformation();

            var           hibernateFileManager = new HibernateFileManager(marshalProvider, powerManagementInterop);
            PointerResult result = hibernateFileManager.ReserveFile();

            if (!result.IsSuccessful)
            {
                throw new InvalidOperationException("Hibernate file reverse was unsuccessful.");
            }

            var suspendManager = new SuspendManager(powerManagementInterop);

            System.Console.WriteLine("Press any key to continue");
            System.Console.ReadKey();
        }
예제 #4
0
 public HibernateFileManagerCOM()
 {
     _hibernateFileManager = new HibernateFileManager();
 }