WINDOWS MOBILE 背景燈控制

來源:互聯網
上載者:User

總體介紹:WindowsMobile系統,開放了控制背景燈光的API,通過該API可以實現開啟背景燈、關閉背景燈以及使螢幕閃爍等功能。

開發語言:使用C#語言,在.net compact framework架構下實現。

適用情境:1.當系統長時間運行是,為了節省硬體的電池,可以關閉背景燈,適軟體在後台進行運行。2..net compact framework架構下,如果使用WebService進行資料互動,每次調用WebService時,北京燈都會自動開啟,為了避免改現象的發生,可以在進行資料互動前關閉背景燈光,互動結束後再開啟背景燈,特別適用於通過線程輪循方式實現PUSH技術。

具體實現

1.封裝API中的DevicePowerNotify方法,代碼如下

[DllImport("coredll.dll")]
   private static extern int DevicePowerNotify( string device, PowerState deviceState, int deviceFlags );

2.封裝PowerState枚舉對象

public enum PowerState 
   {
    PwrDeviceUnspecified = -1,  
    FullOn = 0,   // Full on
    LowOn = 1,   // Low on
    Standby = 2, // Standby
    Sleep = 3,   // Sleep
    Off = 4,   // Off
    PwrDeviceMaximum = 5 
   };

3.封裝一個對外的介面

public static void SetBacklight( PowerState pwr )
   {
    DevicePowerNotify( "BKL1:", pwr, 1 );
   }

OK,到此為止,基本上已經完成,下面寫一個方法進行測試,方法實現的效果為是基於Windowsmobile的裝置閃爍螢幕

int count = 5;//只進行5次閃爍

    while ( count > 0 )
    {
     SetBacklight( PowerState.Off );
     Thread.Sleep( 500 );
     SetBacklight( PowerState.FullOn );
     Thread.Sleep( 500 );
     Application.DoEvents(); 
     count--;
    }

看到效果了吧?以上代碼經過測試。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.