電源が OFF 状態のディスプレイを 電源を On にする方法 への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2016/1/22 15:13:22
> Dim WM_SYSCOMMAND As New IntPtr(&H112)
型が違っていました。
型が違っていました。
Dim WM_SYSCOMMAND As UInteger = &H112UI
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2016/1/22 15:10:21
こんな感じかな?
Imports System.Runtime.InteropServices
Module Display
Public Enum PowerState As Integer
PowerOn = -1
LowPower = 1
PowerOff = 2
End Enum
Public Sub SetPowerState(state As PowerState)
Dim HWND_BROADCAST As New IntPtr(&HFFFF)
Dim WM_SYSCOMMAND As New IntPtr(&H112)
Dim SC_MONITORPOWER As New IntPtr(&HF170)
PostMessage(HWND_BROADCAST, WM_SYSCOMMAND, _
SC_MONITORPOWER, New IntPtr(state))
End Sub
<DllImport("user32")> _
Private Function PostMessage( _
hWnd As IntPtr, msg As UInteger, _
wParam As IntPtr, lParam As IntPtr) As Boolean
End Function
End Module
投稿者 ななしん  (社会人)
投稿日時
2016/1/22 15:01:48
私は試していないので分かりませんが、これが参考になりませんかね?
http://techracho.bpsinc.jp/baba/2009_12_11/745
http://techracho.bpsinc.jp/baba/2009_12_11/745
投稿者 N88-BASIC  (社会人)
投稿日時
2016/1/22 14:33:23
Windows 10 Home(64bit,32Bit)のシステムに対して VS2015 Community(以下 VS)にてプログラムを作成しております。現状、一定時間が経過後ディスプレイの電源を OFF にする設定にて運用しておりますが、処理が長時間かかるアプリの場合にディスプレイの電源が OFF になり終了タイミングがつかみにくくなっております。警告音を出すようにしておりますが、ディスプレイのスピーカを利用する場合、音声も OFF になってしまうようです。
そこで、ディスプレイの電源をアプリにより ON 状態に移行後、警告音が出せれば、終了のタイミングがつかめると考えております。
上記環境にて、アプリによりディスプレイの電源を ON にする方法をご存知の方がいらっしゃいましたら、情報を提供いただければ幸いです。
以上 よろしくお願いします。
そこで、ディスプレイの電源をアプリにより ON 状態に移行後、警告音が出せれば、終了のタイミングがつかめると考えております。
上記環境にて、アプリによりディスプレイの電源を ON にする方法をご存知の方がいらっしゃいましたら、情報を提供いただければ幸いです。
以上 よろしくお願いします。
返信が遅れて申し訳ありませんでした。
魔界の仮面弁士さんのご紹介のプログラムでは、ななしん さんのご紹介の HP に記載されている事例
”Power On 後、すぐに Power Off に移行する”と同じ状態になりました。同 HP にはマウスを動かして Screen の Power On にする方法が記載されていましたが、C 言語のようで私には理解できませんでした。
VB のリファレンス(Microsoft の HP)を見ても、これも理解できませんでした。
実行結果がどう影響するかはわかりませんが、とりあえず、マウスを動かすとの例を参考に、
SendKeys.Send("{HOME}") にて、Power On にすることができました。
最初は ESC を送っていたのですが、上記コマンドの直後に記述した MSGBOX 文が ESC を受け取ってしまい、終了してしまったため、 HOME を送るようにしました。
HOME がどのような影響を及ぼすかわかりませんが、しばらく様子を見ながら、マウスを動かす方法を模索したいと思います。
マウスを動かす方法について情報があれば、ご紹介いただければ幸いです。