■101133 / inTopicNo.1) |
WindowsFoamが応答なしになる |
□投稿者/ KT (15回)-(2023/01/08(Sun) 21:42:03)
|
分類:[C#]
モニターをオフにするソフトをWindowsFoamで作成しようと思い、以下のサイトを参考にしてみました。
モニターオフにする事は成功したもののマウスを動かして復帰後、ソフトが応答なしになります。
どういった理由が考えられるでしょうか?
【参考にしたサイト】
https://blog.janjan.net/2018/01/19/csharp-monitor-power-off/
【Form1.cs】
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//モニターの電源をオフにする
Monitor.PowerOff();
}
}
【Monitor.cs】
class Monitor
{
const int SC_MONITORPOWER = 0xf170;
const int WM_SYSCOMMAND = 0x112;
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
static extern IntPtr SendMessage(int hWnd, uint Msg, int wParam, int lParam);
public static void PowerSave()
{
//省電力
SendMessage(-1, WM_SYSCOMMAND, SC_MONITORPOWER, 1);
}
public static void PowerOff()
{
//モニター停止
SendMessage(-1, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
}
public static void PowerOn()
{
//モニター復帰
SendMessage(-1, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
}
}
|
|