728x90
반응형
728x170
▶ WIN32Helper.cs
using System.Runtime.InteropServices;
namespace TestProject
{
/// <summary>
/// WIN32 헬퍼
/// </summary>
public static class WIN32Helper
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Import
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 메시지 보내기 - SendMessage(windowHandle, message, wordParameter, longParameter)
/// <summary>
/// 메시지 보내기
/// </summary>
/// <param name="windowHandle">윈도우 핸들</param>
/// <param name="message">메시지</param>
/// <param name="wordParameter">WORD 매개 변수</param>
/// <param name="longParameter">LONG 매개 변수</param>
/// <returns>처리 결과</returns>
[DllImport("user32")]
private static extern int SendMessage(int windowHandle, short message, int wordParameter, int longParameter);
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// HWND_BROADCAST
/// </summary>
private const int HWND_BROADCAST = 0xffff;
/// <summary>
/// SC_MONITORPOWER
/// </summary>
private const int SC_MONITORPOWER = 0xf170;
/// <summary>
/// WM_SYSCOMMAND
/// </summary>
private const short WM_SYSCOMMAND = 0x0112;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region 모니터 전원 끄기 - MonitorPowerOff()
/// <summary>
/// 모니터 전원 끄기
/// </summary>
public static void MonitorPowerOff()
{
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
}
#endregion
#region 모니터 전원 켜기 - MonitorPowerOn()
/// <summary>
/// 모니터 전원 켜기
/// </summary>
public static void MonitorPowerOn()
{
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
}
#endregion
}
}
728x90
▶ Program.cs
using System;
using System.Threading;
namespace TestProject
{
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
private static void Main()
{
Console.Title = "SendMessage API 함수 : 모니터 화면 끄기/켜기";
WIN32Helper.MonitorPowerOff();
Thread.Sleep(5000);
WIN32Helper.MonitorPowerOn();
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WIN32' 카테고리의 다른 글
[C#/WIN32] GetModuleHandle API 함수 선언하기 (0) | 2020.12.23 |
---|---|
[C#/WIN32] OpenProcess API 함수 선언하기 (0) | 2020.12.23 |
[C#/WIN32] GetLastError API 함수 선언하기 (0) | 2020.12.23 |
[C#/WIN32] SetConsoleTextAttribute API 함수 : 콘솔 텍스트 색상 설정하기 (0) | 2020.11.23 |
[C#/WIN32] EnableMenuItem API 함수 : Close 버튼 비활성화하기 (0) | 2020.06.04 |
[C#/WIN32] ImmGetConversionStatus API 함수 : 한/영 키 상태 구하기 (0) | 2020.05.22 |
[C#/WIN32] SetWindowDisplayAffinity API 함수 : 화면 캡처 방지하기 (0) | 2020.05.20 |
[C#/WIN32] LoadCursorFromFile API 함수를 사용해 파일에서 커서 로드하기 (0) | 2020.03.01 |
[C#/WIN32] ExitWindowsEx API 함수 : 윈도우즈 종료하기/재부팅하기/로그오프하기 (0) | 2017.02.28 |
[C#/WIN32] AnimateWindow API 함수 : 윈도우 애니메이션 사용하기 (0) | 2017.01.15 |
[C#/WIN32] SendMessage API 함수 : 모니터 화면 끄기/켜기 (0) | 2014.12.02 |
댓글을 달아 주세요