Uma solução para o consumo de bateria do Aero em laptops

Diversos sites publicaram notícias relatando o consumo excessivo de bateria em notebooks com o Aero ligado no Windows Vista. A solução encontrada foi publicada no blog betterthaneveryone.com.

08/05/2007 12:13h

Diminuir o tamanho das letras Aumentar o tamanho das letras

Diversos sites publicaram notícias relatando o consumo excessivo de bateria em notebooks com o Aero ligado no Windows Vista. A solução encontrada, feita utilizando como referência um artigo de Arian Kulp no blog Coding4Fun e um artigo de Ron Fosner na MSDN Magazine, foi publicada no blog betterthaneveryone.com.

Veja abaixo o código utilizado:

using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

using Microsoft.Win32;

namespace VistaLaptopBatterySaver
{
    public partial class Form1 : Form
    {
        /*
         * Copyright Clint Rutkas May 2007
         *
         */
        [DllImport(“dwmapi.dll”, PreserveSig = false)]
        public static extern void DwmEnableComposition(bool bEnable);

        [DllImport(“dwmapi.dll”, PreserveSig = false)]
        public static extern bool DwmIsCompositionEnabled();

        public Form1()
        {
            InitializeComponent();
            enableToolStripMenuItem.Checked = DwmIsCompositionEnabled();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);
            UpdatePowerInfo();
        }

        private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
        {
            UpdatePowerInfo();
        }

        private void UpdatePowerInfo()
        {
            if (enableToolStripMenuItem.Checked)
            {
                PowerStatus ps = SystemInformation.PowerStatus;

                DwmEnableComposition((ps.PowerLineStatus == PowerLineStatus.Online));
            }
        }

        private void enableToolStripMenuItem_CheckStateChanged(object sender, EventArgs e)
        {
            UpdatePowerInfo();
        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

        private static void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            AboutBox ab = new AboutBox();
            ab.Show();
        }
    }
}

Download do executável
Download do código-fonte
Fonte: betterthaneveryone.com



Mais Notícias desta Área

Últimas Notícias
 
 Software  |  Hardware  |  Segurança  |  Tecnologia  |  Tutoriais  |  Download  |  Web  | Desenvolvimento  |  Fórum 
 Mundo Corporativo  |  Carreira  |  Mercado  |  Telecom  |  Servidores  |  Tecnologia 
    BABOO é um site brasileiro de TI focado em informática, tecnologia, software,hardware, tutoriais e downloads, e soluções de dúvidas através do nosso fórum.

 

Artigos do BABOO