VBScript と VB.NET スクリプトでモニタの電源をオフにしたりオンにしたり

VBScript と VB.NET から、Excel が持つ API を利用して、モニタの電源をオンにしたり、オフにしたりしてみる。

VBScript でモニタの電源をオン・オフ

Mshta vbscript:execute("CreateObject(""Excel.Application"").ExecuteExcel4Macro "CALL(""""user32"""", """"SendMessageA"""", """"JJJJJ"""", -1, 274, 61808, 2)"":close")
Mshta vbscript:execute("CreateObject(""Excel.Application"").ExecuteExcel4Macro "CALL(""""user32"""", """"SendMessageA"""", """"JJJJJ"""", -1, 274, 61808, -1)"":close")

VB.NET でモニタの電源をオン・オフ

Public Class Class1
  Private Declare Function SendMessageA Lib "user32" (hWnd As Integer, Msg As Integer, wParam As Integer, IParam As Integer) As Integer
  Public Shared Sub Main()
    SendMessageA(-1, 274, 61808, 2)
  End Sub
End Class
Public Class Class1
  Private Declare Function SendMessageA Lib "user32" (hWnd As Integer, Msg As Integer, wParam As Integer, IParam As Integer) As Integer
  Public Shared Sub Main()
    SendMessageA(-1, 274, 61808, -1)
  End Sub
End Class

中身をよく見れば分かるが、SendMessageA に 2 を渡すと電源オフ、-1 を渡すと電源オン、となる。

タイマー的にモニタの電源を切るスクリプトを作る時とかにドウゾ。