- - PR -
WinCE5.0端末のディスプレイをON/OFFするプログラム
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-09-20 15:47
プログラム初心者です。
下記の環境で環境でWinCE5.0端末のディスプレイをON/OFFできるような プログラムを組んでいます。 ONは問題なくできるのですが、OFFにすると画面が真っ白になってしまい、 微妙な動きをしています。解決方法をご存知の方がいらっしゃったら 教えて下さい。 なお、プログラムも下記に記載します。 【開発環境】 ・WinXP pro ・VS2005(VS2005 VB.net スマートデバイス開発) 【実行環境】 ・WindowsCE5.0 ・Compact Framework 2.0 【宣言部分】 Private Const SETPOWERRMANAGEMENT As Int32 = 6147 Declare Function ExtEscape Lib "coredll.dll" (ByVal hdc As IntPtr, ByVal nEscape As Int32, ByVal cbInput As Int32, ByVal plszInData As Byte(), ByVal cbOutput As Int32, ByVal lpszOutData As IntPtr) As Int32 Declare Function GetDC Lib "coredll.dll" (ByVal hwnd As IntPtr) As IntPtr Public Enum DisplayPowerState As Integer DisplayPowerOn = 1 DisplayPowerStandBy DisplayPowerSuspend DisplayPowerOff End Enum Public Sub PowerOff() Dim hdc As IntPtr = GetDC(IntPtr.Zero) Dim vpm() As Byte = {12, 0, 0, 0, 1, 0, 0, 0, DisplayPowerState.DisplayPowerOff, 0, 0, 0, 0} ExtEscape(hdc, SETPOWERRMANAGEMENT, 12, vpm, 0, IntPtr.Zero) End Sub Public Sub PowerON() Dim hdc As IntPtr = GetDC(IntPtr.Zero) Dim vpm() As Byte = {12, 0, 0, 0, 1, 0, 0, 0, DisplayPowerState.DisplayPowerOn, 0, 0, 0, 0} ExtEscape(hdc, SETPOWERRMANAGEMENT, 12, vpm, 0, IntPtr.Zero) End Sub 【実行部分】 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click ' ディスプレイ電源Off Me.PowerOff() ' 待機 System.Threading.Thread.Sleep(6000) ' ディスプレイ電源On Me.PowerON() End Sub |
1